Method for Fast Replacement of Wireless IoT Product and System Thereof

ABSTRACT

A method and system for replacing a first wireless node in an IoT system includes determining, by the first wireless node, that the first wireless node needs imminent replacement. The determination may be made, for example, based on a battery of the first wireless node being below a threshold level. The first wireless node initiates a discovery protocol for a second wireless node installed in proximity to the first wireless node, the second wireless node installed to replace the first wireless node. Upon discovery of the second wireless node, the first wireless node transmits a configuration file to the second wireless node, which the second wireless node copies to a storage of the second wireless node. The second wireless node configures itself to operate as a replacement for the first wireless node in the IoT system, based at least in part on the copied configuration file.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of pending U.S. patent applicationSer. No. 17/962,703, filed on Oct. 10, 2022, which is a continuation ofU.S. patent application Ser. No. 17/492,641, filed on Oct. 3, 2021, nowU.S. Pat. No. 11,514,286. U.S. patent application Ser. No. 17/492,641claims priority to U.S. Provisional Patent Application No. 63/087,283,filed Oct. 4, 2020. All of the above referenced patent applications areincorporated herein in their entirety.

FIELD OF THE DISCLOSURE

This disclosure generally relates to wireless internet of things (IoT)devices.

BACKGROUND

For an IoT system employing battery-powered IoT devices, the replacementof IoT devices that have low or depleted batteries is an arduous taskwith increased complexity, as the scale and size of the IoT devicenetwork increases. Since conventional IoT devices may require extensiveconfiguration before being deployed in the field, replacing a single IoTdevice in the field with a new IoT Device may require significantattention and effort. Additionally, errors may occur from impropertracking of the replacements, such as when two IoT devices areperforming the same task due to the IoT device that was meant to bereplaced not being removed or deactivated in a timely fashion.

SUMMARY

A method and system thereof for replacing a first wireless node in anIoT system is disclosed. The method includes determining, by the firstwireless node, that the first wireless node is in need of imminentreplacement. The first wireless node may determine this based on abattery level of the first wireless node, for example. The firstwireless node transmits a first notification to another wireless node ofthe IoT system that the first wireless node is in need of imminentreplacement. The IoT system may deploy a second wireless node in thefield to be installed in proximity to the first wireless node, inresponse to receiving the first notification. The first wireless nodethen initiates a discovery protocol for the second wireless nodeinstalled in proximity to the first wireless node. Upon discovery of thesecond wireless node, the first wireless node wirelessly connects withthe second wireless node. Responsive to successful wireless connectionbetween the first wireless node and the second wireless node, the firstwireless node transmits a configuration file to the second wirelessnode, and the second wireless node copies the received configurationfile to a storage of the second wireless node. The second wireless nodeconfigures itself to operate as a replacement for the first wirelessnode in the IoT system, based at least in part on the copiedconfiguration file. The second wireless node thus replaces the firstwireless node. In further embodiments, the first wireless node maycomplete the process by deactivating itself.

Also disclosed herein is a an adhesive tape platform, which is aflexible IoT device including a flexible substrate, a device layer, abattery, a flexible circuit connecting components of the device layerand a flexible cover layer covering the flexible substrate, the devicelayer, and the flexible circuit. The device layer includes a processor,a first wireless communication system, and a memory coupled to theprocessor. The adhesive tape platform is configured to wirelesslyreceive a configuration file from a first wireless node using the firstwireless communication system, copy the received configuration file tothe memory, and complete a configuration of the adhesive tape platformas a replacement for the first wireless node based at least in part oncopied configuration file.

An Internet of Things (IoT) system is also disclosed, according to someembodiments, that includes a first IoT device and a second IoT device.The first IoT device is installed on an asset and includes first type ofwireless communication system. The first IoT device is configured tomonitor the asset and transmit a configuration file using the first typeof wireless communication system to an IoT device replacing the firstIoT device, in response to determining that the first wireless nodeneeds imminent replacement.

The second IoT device is installed in proximity to the first IoT device,in response to the first IoT device determining that the first IoTdevice needs imminent replacement. The second IoT device is installed toserve as a replacement for the first IoT device in the IoT system. Thesecond IoT device includes the first type of wireless communicationsystem and is configured to wirelessly receive the configuration filefrom the first wireless node using the first type of wirelesscommunication system. The second IoT device completes a configurationprocess for replacing the first IoT device based at least in part on thereceived configuration file. Responsive to the second IoT devicecompleting the configuration process, the second IoT begins operating,assuming a role and identity of the first IoT device in the IoT system.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a diagrammatic view of an asset that has been sealed forshipment using a segment of an example adhesive tape platform dispensedfrom a roll, according to some embodiments.

FIG. 1B is a diagrammatic top view of a portion of the segment of theexample adhesive tape platform shown in FIG. 1A, according to someembodiments.

FIG. 2 is a diagrammatic view of an example of an envelope carrying asegment of an example adhesive tape platform dispensed from a backingsheet, according to some embodiments.

FIG. 3 is a schematic view of an example segment of an adhesive tapeplatform, according to some embodiments.

FIG. 4 is a diagrammatic top view of a length of an example adhesivetape platform, according to some embodiments.

FIGS. 5A-5C show diagrammatic cross-sectional side views of portions ofdifferent respective adhesive tape platforms, according to someembodiments.

FIGS. 6A-6B are diagrammatic top views of a length of an exampleadhesive tape platform, according to some embodiments.

FIG. 6C is a diagrammatic view of a length of an example adhesive tapeplatform adhered to an asset, according to some embodiments.

FIG. 7 is a diagrammatic view of an example of a network environmentsupporting communications with segments of an adhesive tape platform,according to some embodiments.

FIG. 8 is a diagrammatic view of a hierarchical communications network,according to some embodiments.

FIG. 9 is a flow diagram of a method of creating a hierarchicalcommunications network, according to some embodiments.

FIGS. 10A-10E are diagrammatic views of exemplary use cases for adistributed agent operating system, according to some embodiments.

FIG. 11 is a diagram showing an example of phases of a process for fastreplacement of a wireless node, according to some embodiments.

FIG. 12 is a schematic showing an alternative view of the functionalityof a tape node.

FIG. 13 is a flow chart showing steps for an example method ofconfiguring a wireless node of the IoT system for fast replacement,according to some embodiments.

FIGS. 14A-14B are flow charts each showing steps for an examplediscovery process for a first wireless node deployed in the field and asecond wireless node replacing the first wireless node, according tosome embodiments.

FIG. 15A is a flow chart showing steps for an example method ofconfiguring a wireless node of the IoT system for fast replacement of anexisting wireless node in an IoT system by using an intermediary devicewhich coordinates the configuration, according to some embodiments.

FIG. 15B shows an example environment including a first wireless node, asecond wireless node being configured to replace the first wirelessnode, and an intermediary device for coordinating the configuration ofthe second wireless node by the first wireless node, according to someembodiments.

FIGS. 16A-16B are diagrams illustrating a dialog between a tape node Aand a tape node B during a configuration process in which tape node B isconfigured to replace tape node A, according to some embodiments.

FIG. 17 is a diagram illustrating a dialog between a tape node A, a tapenode B, and an intermediary device during a configuration process in

FIG. 18 shows an example embodiment of computer apparatus, according tosome embodiments.

DETAILED DESCRIPTION

A method and system thereof for replacing a first wireless node in anIoT system is disclosed. The method includes installing a secondwireless node in proximity to the first wireless node. The firstwireless node then wirelessly transmits a configuration file to thesecond wireless node, which is used to configure the second wirelessnode as a replacement for the first wireless node. Based on the receivedconfiguration file, the second wireless node assumes the role andidentity of the first wireless node in the IoT system. The secondwireless node confirms to the first wireless node that the secondwireless node has successfully replaced the first wireless node. Inresponse, the first wireless node deactivates itself to allow the secondwireless node to operate as the first wireless node's replacement. Thesecond wireless node may undergo a similar process with a third wirelessnode, when the second wireless node is in need of imminent replacement.

The disclosed method and system thereof allows for a fast process forreplacing the first wireless node that requires little interaction orattention from a human operator, compared to conventional methods forinstalling and deploying an IOT device in the field to fulfill a role inan IOT system. In an IoT system that includes a large network ofbattery-powered IoT devices, the disclosed method and system thereofgreatly simplifies the process of replacing individual IoT devices orwireless nodes.

In some embodiments, the wireless IoT device or wireless node is anadhesive tape platform or a segment thereof. The adhesive tape platformincludes wireless transducing components and circuitry that performcommunication and/or sensing. The adhesive tape platform has a flexibleadhesive tape form-factor that allows it to function as both an adhesivetape for adhering to and/or sealing objects and a wireless sensingdevice.

In the following description, like reference numbers are used toidentify like elements. Furthermore, the drawings are intended toillustrate major features of exemplary embodiments in a diagrammaticmanner. The drawings are not intended to depict every feature of actualembodiments nor relative dimensions of the depicted elements and are notdrawn to scale.

As used herein, the term “or” refers to an inclusive “or” rather than anexclusive “or.” In addition, the articles “a” and “an” as used in thespecification and claims mean “one or more” unless specified otherwiseor clear from the context to refer the singular form.

The term “tape node” refers to an adhesive tape platform or a segmentthereof that is equipped with sensor, processor, memory, energysource/harvesting mechanism, and wireless communications functionality,where the adhesive tape platform (also referred to herein as an“adhesive product” or an “adhesive tape product”) has a variety ofdifferent form factors, including a multilayer roll or a sheet thatincludes a plurality of divisible adhesive segments. Once deployed, eachtape node can function, for example, as an adhesive tape, label,sticker, decal, or the like, and as a wireless communications device.

The terms “adhesive tape node,” “wireless node,” or “tape node” may beused interchangeably in certain contexts, and refer to an adhesive tapeplatform or a segment thereof that is equipped with sensor, processor,memory, energy source/harvesting mechanism, and wireless communicationsfunctionality, where the adhesive product has a variety of differentform factors, including a multilayer roll or a sheet that includes aplurality of divisible adhesive segments. Once deployed, each tape nodeor wireless node can function, for example, as an adhesive tape, label,sticker, decal, or the like, and as a wireless communications device. A“peripheral” tape node or wireless node, also referred to as an outernode, leaf node, or terminal node, refers to a node that does not haveany child nodes.

In certain contexts, the terms “parcel,” “envelope,” “box,” “package,”“container,” “pallet,” “carton,” “wrapping,” and the like are usedinterchangeably herein to refer to a packaged item or items.

In certain contexts, the terms “wireless tracking system,” “hierarchicalcommunications network,” “distributed agent operating system,” and thelike are used interchangeably herein to refer to a system or network ofwireless nodes.

INTRODUCTION

This specification describes a low-cost, multi-function adhesive tapeplatform with a form factor that unobtrusively integrates the componentsuseful for implementing a combination of different asset tracking andmanagement functions and also is able to perform a useful ancillaryfunction that otherwise would have to be performed with the attendantneed for additional materials, labor, and expense. In an aspect, theadhesive tape platform is implemented as a collection of adhesiveproducts that integrate wireless communications and sensing componentswithin a flexible adhesive structure in a way that not only provides acost-effective platform for interconnecting, optimizing, and protectingthe components of the tracking system but also maintains the flexibilityneeded to function as an adhesive product that can be deployedseamlessly and unobtrusively into various asset management and trackingapplications and workflows, including person and object trackingapplications, and asset management workflows such as manufacturing,storage, shipping, delivery, and other logistics associated with movingproducts and other physical objects, including logistics, sensing,tracking, locationing, warehousing, parking, safety, construction, eventdetection, road management and infrastructure, security, and healthcare.In some examples, the adhesive tape platforms are used in variousaspects of asset management, including sealing assets, transportingassets, tracking assets, monitoring the conditions of assets,inventorying assets, and verifying asset security. In these examples,the assets typically are transported from one location to another bytruck, train, ship, or aircraft or within premises, e.g., warehouses byforklift, trolleys etc.

In disclosed examples, an adhesive tape platform includes a plurality ofsegments that can be separated from the adhesive product (e.g., bycutting, tearing, peeling, or the like) and adhesively attached to avariety of different surfaces to inconspicuously implement any of a widevariety of different wireless communications based networkcommunications and transducing (e.g., sensing, actuating, etc.)applications. Examples of such applications include: event detectionapplications, monitoring applications, security applications,notification applications, and tracking applications, includinginventory tracking, asset tracking, person tracking, animal (e.g., pet)tracking, manufactured parts tracking, and vehicle tracking. In exampleembodiments, each segment of an adhesive tape platform is equipped withan energy source, wireless communication functionality, transducingfunctionality, and processing functionality that enable the segment toperform one or more transducing functions and report the results to aremote server or other computer system directly or through a network oftapes. The components of the adhesive tape platform are encapsulatedwithin a flexible adhesive structure that protects the components fromdamage while maintaining the flexibility needed to function as anadhesive tape (e.g., duct tape or a label) for use in variousapplications and workflows. In addition to single function applications,example embodiments also include multiple transducers (e.g., sensingand/or actuating transducers) that extend the utility of the platformby, for example, providing supplemental information and functionalityrelating characteristics of the state and or environment of, forexample, an article, object, vehicle, or person, over time.

Systems and processes for fabricating flexible multifunction adhesivetape platforms in efficient and low-cost ways also are described. Inaddition to using roll-to-roll and/or sheet-to-sheet manufacturingtechniques, the fabrication systems and processes are configured tooptimize the placement and integration of components within the flexibleadhesive structure to achieve high flexibility and ruggedness. Thesefabrication systems and processes are able to create useful and reliableadhesive tape platforms that can provide local sensing, wirelesstransmitting, and locationing functionalities. Such functionalitytogether with the low cost of production is expected to encourage theubiquitous deployment of adhesive tape platform segments and therebyalleviate at least some of the problems arising from gaps inconventional infrastructure coverage that prevent continuous monitoring,event detection, security, tracking, and other asset tracking andmanagement applications across heterogeneous environments.

Adhesive Tape Platform

FIG. 1A shows an example asset 10 that is sealed for shipment using anexample adhesive tape platform 12 that includes embedded components of awireless transducing circuit 14 (collectively referred to herein as a“tape node”). In this example, a length 13 of the adhesive tape platform12 is dispensed from a roll 16 and affixed to the asset 10. The adhesivetape platform 12 includes an adhesive side 18 and a non-adhesive side20. The adhesive tape platform 12 can be dispensed from the roll 16 inthe same way as any conventional packing tape, shipping tape, or ducttape. For example, the adhesive tape platform 12 may be dispensed fromthe roll 16 by hand, laid across the seam where the two top flaps of theasset 10 meet, and cut to a suitable length either by hand or using acutting instrument (e.g., scissors or an automated or manual tapedispenser). Examples of such tapes include tapes having non-adhesivesides 20 that carry one or more coatings or layers (e.g., colored, lightreflective, light absorbing, and/or light emitting coatings or layers).

Referring to FIG. 1B, in some examples, the non-adhesive side 20 of thelength 13 of the adhesive tape platform 12 includes writing or othermarkings that convey instructions, warnings, or other information to aperson or machine (e.g., a bar code reader), or may simply be decorativeand/or entertaining. For example, different types of adhesive tapeplatforms may be marked with distinctive colorations to distinguish onetype of adhesive tape platform from another. In the illustrated example,the length 13 of the adhesive tape platform 12 includes atwo-dimensional bar code (e.g., a QR Code) 22, written instructions 24(i.e., “Cut Here”), and an associated cut line 26 that indicates wherethe user should cut the adhesive tape platform 12. The writteninstructions 24 and the cut line 26 typically are printed or otherwisemarked on the top non-adhesive surface 20 of the adhesive tape platform12 during manufacture. The two-dimensional bar code 22, on the otherhand, may be marked on the non-adhesive surface 20 of the adhesive tapeplatform 12 during the manufacture of the adhesive product 12 or,alternatively, may be marked on the non-adhesive surface 20 of theadhesive tape platform 12 as needed using, for example, a printer orother marking device.

In order to avoid damage to the functionality of the segments of theadhesive tape platform 12, the cut lines 26 typically demarcate theboundaries between adjacent segments at locations that are free of anyactive components of the wireless transducing circuit 14. The spacingbetween the wireless transducing circuit components 14 and the cut lines26 may vary depending on the intended communication, transducing and/oradhesive taping application. In the example illustrated in FIG. 1A, thelength of the adhesive tape platform 12 that is dispensed to seal theasset 10 corresponds to a single segment of the adhesive tape platform12. In other examples, the length of the adhesive tape platform 12needed to seal a asset or otherwise serve the adhesive function forwhich the adhesive tape platform 12 is being applied may includemultiple segments 13 of the adhesive tape platform 12, one or more ofwhich segments 13 may be activated upon cutting the length of theadhesive tape platform 12 from the roll 16 and/or applying the length ofthe adhesive tape platform to the asset 10.

In some examples, the transducing components 14 that are embedded in oneor more segments 13 of the adhesive tape platform 12 are activated whenthe adhesive tape platform 12 is cut along the cut line 26. In theseexamples, the adhesive tape platform 12 includes one or more embeddedenergy sources (e.g., thin film batteries, which may be printed, orconventional cell batteries, such as conventional watch style batteries,rechargeable batteries, or other energy storage device, such as a supercapacitor or charge pump) that supply power to the transducingcomponents 14 in one or more segments of the adhesive tape platform 12in response to being separated from the adhesive tape platform 12 (e.g.,along the cut line 26).

In some examples, each segment 13 of the adhesive tape platform 12includes its own respective energy source including energy harvestingelements that can harvest energy from the environment. In some of theseexamples, each energy source is configured to only supply power to thecomponents in its respective adhesive tape platform segment regardlessof the number of contiguous segments 13 that are in a given length ofthe adhesive tape platform 12. In other examples, when a given length ofthe adhesive tape platform 12 includes multiple segments 13, the energysources in the respective segments 13 are configured to supply power tothe transducing components 14 in all of the segments 13 in the givenlength of the adhesive tape platform 12. In some of these examples, theenergy sources are connected in parallel and concurrently activated topower the transducing components 14 in all of the segments 13 at thesame time. In other examples, the energy sources are connected inparallel and alternately activated to power the transducing components14 in respective ones of the adhesive tape platform segments 13 atdifferent time periods, which may or may not overlap.

FIG. 2 shows an example adhesive tape platform 30 that includes a set ofadhesive tape platform segments 32 each of which includes a respectiveset of embedded wireless transducing circuit components 34, and abacking sheet 36 with a release coating that prevents the adhesivesegments 32 from adhering strongly to the backing sheet 36. Eachadhesive tape platform segment 32 includes an adhesive side facing thebacking sheet 36, and an opposing non-adhesive side 40. In this example,a particular segment 32′ of the adhesive tape platform 30 has beenremoved from the backing sheet 36 and affixed to an envelope 44. Eachsegment 32 of the adhesive tape platform 30 can be removed from thebacking sheet 36 in the same way that adhesive labels can be removedfrom a conventional sheet of adhesive labels (e.g., by manually peelinga segment 32 from the backing sheet 36). In general, the non-adhesiveside 40′ of the segment 32′ may include any type of writing, markings,decorative designs, or other ornamentation. In the illustrated example,the non-adhesive side 40′ of the segment 32′ includes writing or othermarkings that correspond to a destination address for the envelope 44.The envelope 44 also includes a return address 46 and, optionally, apostage stamp or mark 48.

In some examples, segments of the adhesive tape platform 12 are deployedby a human operator. The human operator may be equipped with a mobilephone or other device that allows the operator to authenticate andinitialize the adhesive tape platform 12. In addition, the operator cantake a picture of a asset including the adhesive tape platform and anybarcodes associated with the asset and, thereby, create a persistentrecord that links the adhesive tape platform 12 to the asset. Inaddition, the human operator typically will send the picture to anetwork service and/or transmit the picture to the adhesive tapeplatform 12 for storage in a memory component of the adhesive tapeplatform 12.

In some examples, the wireless transducing circuit components 34 thatare embedded in a segment 32 of the adhesive tape platform 12 areactivated when the segment 32 is removed from the backing sheet 32. Insome of these examples, each segment 32 includes an embedded capacitivesensing system that can sense a change in capacitance when the segment32 is removed from the backing sheet 36. As explained in detail below, asegment 32 of the adhesive tape platform 30 includes one or moreembedded energy sources (e.g., thin film batteries, common disk-shapedcell batteries, or rechargeable batteries or other energy storagedevices, such as a super capacitor or charge pump) that can beconfigured to supply power to the wireless transducing circuitcomponents 34 in the segment 32 in response to the detection of a changein capacitance between the segment 32 and the backing sheet 36 as aresult of removing the segment 32 from the backing sheet 36.

FIG. 3 shows a block diagram of the components of an example wirelesstransducing circuit 70 that includes a number of communication systems72, 74. Example communication systems 72, 74 include a GPS system thatincludes a GPS receiver circuit 82 (e.g., a receiver integrated circuit)and a GPS antenna 84, and one or more wireless communication systemseach of which includes a respective transceiver circuit 86 (e.g., atransceiver integrated circuit) and a respective antenna 88. Examplewireless communication systems include a cellular communication system(e.g., GSM/GPRS), a Wi-Fi communication system, an RF communicationsystem (e.g., LoRa), a Bluetooth communication system (e.g., a BluetoothLow Energy system), a Z-wave communication system, and a ZigBeecommunication system. The wireless transducing circuit 70 also includesa processor 90 (e.g., a microcontroller or microprocessor), one or moreenergy storage devices 92 (e.g., non-rechargeable or rechargeableprinted flexible battery, conventional single or multiple cell battery,and/or a super capacitor or charge pump), one or more transducers 94(e.g., sensors and/or actuators, and, optionally, one or more energyharvesting transducer components). In some examples, the conventionalsingle or multiple cell battery may be a watch style disk or button cellbattery that is associated electrical connection apparatus (e.g., ametal clip) that electrically connects the electrodes of the battery tocontact pads on the flexible circuit 116.

Examples of sensing transducers 94 include a capacitive sensor, analtimeter, a gyroscope, an accelerometer, a temperature sensor, a strainsensor, a pressure sensor, a piezoelectric sensor, a weight sensor, anoptical or light sensor (e.g., a photodiode or a camera), an acoustic orsound sensor (e.g., a microphone), a smoke detector, a radioactivitysensor, a chemical sensor (e.g., an explosives detector), a biosensor(e.g., a blood glucose biosensor, odor detectors, antibody basedpathogen, food, and water contaminant and toxin detectors, DNAdetectors, microbial detectors, pregnancy detectors, and ozonedetectors), a magnetic sensor, an electromagnetic field sensor, and ahumidity sensor. Examples of actuating (e.g., energy emitting)transducers 94 include light emitting components (e.g., light emittingdiodes and displays), electro-acoustic transducers (e.g., audiospeakers), electric motors, and thermal radiators (e.g., an electricalresistor or a thermoelectric cooler).

In some examples, the wireless transducing circuit 70 includes a memory96 for storing data, including, e.g., profile data, state data, eventdata, sensor data, localization data, security data, and one or moreunique identifiers (ID) 98 associated with the wireless transducingcircuit 70, such as a product ID, a type ID, and a media access control(MAC) ID, and control code 99. In some examples, the memory 96 may beincorporated into one or more of the processor 90 or transducers 94, ormay be a separate component that is integrated in the wirelesstransducing circuit 70 as shown in FIG. 3 . The control code typicallyis implemented as programmatic functions or program modules that controlthe operation of the wireless transducing circuit 70, including a tapenode communication manager that manages the manner and timing of tapenode communications, a tape node power manager that manages powerconsumption, and a tape node connection manager that controls whetherconnections with other tape nodes are secure connections or unsecureconnections, and a tape node storage manager that securely manages thelocal data storage on the node. The tape node connection manager ensuresthe level of security required by the end application and supportsvarious encryption mechanisms. The tape node power manager and tapecommunication manager work together to optimize the battery consumptionfor data communication. In some examples, execution of the control codeby the different types of tape nodes described herein may result in theperformance of similar or different functions.

FIG. 4 is a top view of a portion of an example flexible adhesive tapeplatform 100 that shows a first segment 102 and a portion of a secondsegment 104. Each segment 102, 104 of the flexible adhesive tapeplatform 100 includes a respective set 106, 108 of the components of thewireless transducing circuit 70. The segments 102, 104 and theirrespective sets of components 106, 108 typically are identical andconfigured in the same way. In some other embodiments, however, thesegments 102, 104 and/or their respective sets of components 106, 108are different and/or configured in different ways. For example, in someexamples, different sets of the segments of the flexible adhesive tapeplatform 100 have different sets or configurations of tracking and/ortransducing components that are designed and/or optimized for differentapplications, or different sets of segments of the flexible adhesivetape platform may have different ornamentations (e.g., markings on theexterior surface of the platform) and/or different (e.g., alternating)lengths.

An example method of fabricating the adhesive tape platform 100 (seeFIG. 4 ) according to a roll-to-roll fabrication process is described inconnection with FIGS. 6, 7A, and 7B of U.S. Pat. No. 10,262,255, issuedApr. 16, 2019, the entirety of which is incorporated herein byreference.

The instant specification describes an example system of adhesive tapeplatforms (also referred to herein as “tape nodes”) that can be used toimplement a low-cost wireless network infrastructure for performingmonitoring, tracking, and other asset management functions relating to,for example, parcels, persons, tools, equipment and other physicalassets and objects. The example system includes a set of three differenttypes of tape nodes that have different respective functionalities anddifferent respective cover markings that visually distinguish thedifferent tape node types from one another. In one non-limiting example,the covers of the different tape node types are marked with differentcolors (e.g., white, green, and black). In the illustrated examples, thedifferent tape node types are distinguishable from one another by theirrespective wireless communications capabilities and their respectivesensing capabilities.

FIG. 5A shows a cross-sectional side view of a portion of an examplesegment 102 of the flexible adhesive tape platform 100 that includes arespective set of the components of the wireless transducing circuit 106corresponding to the first tape node type (i.e., white). The flexibleadhesive tape platform segment 102 includes an adhesive layer 112, anoptional flexible substrate 110, and an optional adhesive layer 114 onthe bottom surface of the flexible substrate 110. If the bottom adhesivelayer 114 is present, a release liner (not shown) may be (weakly)adhered to the bottom surface of the adhesive layer 114. In someexamples, the adhesive layer 114 includes an adhesive (e.g., an acrylicfoam adhesive) that has a high bond strength that is sufficient toprevent removal of the adhesive segment 102 from a surface on which theadhesive layer 114 is adhered without destroying the physical ormechanical integrity of the adhesive segment 102 and/or one or more ofits constituent components. In some examples, the optional flexiblesubstrate 110 is implemented as a prefabricated adhesive tape thatincludes the adhesive layers 112, 114 and the optional release liner. Inother examples, the adhesive layers 112, 114 are applied to the top andbottom surfaces of the flexible substrate 110 during the fabrication ofthe adhesive tape platform 100. The adhesive layer 112 bonds theflexible substrate 110 to a bottom surface of a flexible circuit 116,that includes one or more wiring layers (not shown) that connect theprocessor 90, a low power wireless communication interface 81 (e.g., aZigbee, Bluetooth® Low Energy (BLE) interface, or other low powercommunication interface), a timer circuit 83, transducing and/or energyharvesting component(s) 94 (if present), the memory 96, and othercomponents in a device layer 122 to each other and to the energy storagecomponent 92 and, thereby, enable the transducing, tracking and otherfunctionalities of the flexible adhesive tape platform segment 102. Thelow power wireless communication interface 81 typically includes one ormore of the antennas 84, 88 and one or more of the wireless circuits 82,86.

FIG. 5B shows a cross-sectional side view of a portion of an examplesegment 103 of the flexible adhesive tape platform 100 that includes arespective set of the components of the wireless transducing circuit 106corresponding to the second tape node type (i.e., green). In thisexample, the flexible adhesive tape platform segment 103 differs fromthe segment 102 shown in FIG. 5A by the inclusion of a medium powercommunication interface 85 (e.g., a LoRa interface) in addition to thelow power communications interface that is present in the first tapenode type (i.e., white). The medium power communication interface haslonger communication range than the low power communication interface.In some examples, one or more other components of the flexible adhesivetape platform segment 103 differ, for example, in functionality orcapacity (e.g., larger energy source).

FIG. 5C shows a cross-sectional side view of a portion of an examplesegment 105 of the flexible adhesive tape platform 100 that includes arespective set of the components of the wireless transducing circuit 106corresponding to the third tape node type (i.e., black). In thisexample, the flexible adhesive tape platform segment 105 includes a highpower communications interface 87 (e.g., a cellular interface; e.g.,GSM/GPRS) and an optional medium and/or low power communicationsinterface 85. The high power communication range provides globalcoverage to available infrastructure (e.g. the cellular network). Insome examples, one or more other components of the flexible adhesivetape platform segment 105 differ, for example, in functionality orcapacity (e.g., larger energy source).

FIGS. 5A-5C show examples in which the cover layer 128 of the flexibleadhesive tape platform 100 includes one or more interfacial regions 129positioned over one or more of the transducers 94. In examples, one ormore of the interfacial regions 129 have features, properties,compositions, dimensions, and/or characteristics that are designed toimprove the operating performance of the platform 100 for specificapplications. In some examples, the flexible adhesive tape platform 100includes multiple interfacial regions 129 over respective transducers94, which may be the same or different depending on the targetapplications. Example interfacial regions include an opening, anoptically transparent window, and/or a membrane located in theinterfacial region 129 of the cover 128 that is positioned over the oneor more transducers and/or energy harvesting components 94. Additionaldetails regarding the structure and operation of example interfacialregions 129 are described in U.S. Provisional Patent Application No.62/680,716, filed Jun. 5, 2018, PCT Patent Application No.PCT/US2018/064919, filed Dec. 11, 2018, U.S. Pat. No. 10,885,420, issuedJan. 4, 2021, U.S. Pat. No. 10,902,310 issued Jan. 25, 2021, and U.S.Provisional Patent Application No. 62/670,712, filed May 11, 2018, allof which are incorporated herein in their entirety.

In some examples, a flexible polymer layer 124 encapsulates the devicelayer 122 and thereby reduces the risk of damage that may result fromthe intrusion of contaminants and/or liquids (e.g., water) into thedevice layer 122. The flexible polymer layer 124 also planarizes thedevice layer 122. This facilitates optional stacking of additionallayers on the device layer 122 and also distributes forces generated in,on, or across the adhesive tape platform segment 102 so as to reducepotentially damaging asymmetric stresses that might be caused by theapplication of bending, torqueing, pressing, or other forces that may beapplied to the flexible adhesive tape platform segment 102 during use.In the illustrated example, a flexible cover 128 is bonded to theplanarizing polymer 124 by an adhesive layer (not shown).

The flexible cover 128 and the flexible substrate 110 may have the sameor different compositions depending on the intended application. In someexamples, one or both of the flexible cover 128 and the flexiblesubstrate 110 include flexible film layers and/or paper substrates,where the film layers may have reflective surfaces or reflective surfacecoatings. Example compositions for the flexible film layers includepolymer films, such as polyester, polyimide, polyethylene terephthalate(PET), and other plastics. The optional adhesive layer on the bottomsurface of the flexible cover 128 and the adhesive layers 112, 114 onthe top and bottom surfaces of the flexible substrate 110 typicallyinclude a pressure-sensitive adhesive (e.g., a silicon-based adhesive).In some examples, the adhesive layers are applied to the flexible cover128 and the flexible substrate 110 during manufacture of the adhesivetape platform 100 (e.g., during a roll-to-roll or sheet-to-sheetfabrication process). In other examples, the flexible cover 128 may beimplemented by a prefabricated single-sided pressure-sensitive adhesivetape and the flexible substrate 110 may be implemented by aprefabricated double-sided pressure-sensitive adhesive tape; both kindsof tape may be readily incorporated into a roll-to-roll orsheet-to-sheet fabrication process. In some examples, the flexiblepolymer layer 124 is composed of a flexible epoxy (e.g., silicone).

In some examples, the energy storage device 92 is a flexible batterythat includes a printed electrochemical cell, which includes a planararrangement of an anode and a cathode and battery contact pads. In someexamples, the flexible battery may include lithium-ion cells ornickel-cadmium electro-chemical cells. The flexible battery typically isformed by a process that includes printing or laminating theelectro-chemical cells on a flexible substrate (e.g., a polymer filmlayer). In some examples, other components may be integrated on the samesubstrate as the flexible battery. For example, the low power wirelesscommunication interface 81 and/or the processor(s) 90 may be integratedon the flexible battery substrate. In some examples, one or more of suchcomponents also (e.g., the flexible antennas and the flexibleinterconnect circuits) may be printed on the flexible battery substrate.

In some examples, the flexible circuit 116 is formed on a flexiblesubstrate by printing, etching, or laminating circuit patterns on theflexible substrate. In some examples, the flexible circuit 116 isimplemented by one or more of a single-sided flex circuit, a doubleaccess or back bared flex circuit, a sculpted flex circuit, adouble-sided flex circuit, a multi-layer flex circuit, a rigid flexcircuit, and a polymer thick film flex circuit. A single-sided flexiblecircuit has a single conductor layer made of, for example, a metal orconductive (e.g., metal filled) polymer on a flexible dielectric film. Adouble access or back bared flexible circuit has a single conductorlayer but is processed so as to allow access to selected features of theconductor pattern from both sides. A sculpted flex circuit is formedusing a multi-step etching process that produces a flex circuit that hasfinished copper conductors that vary in thickness along their respectivelengths. A multilayer flex circuit has three of more layers ofconductors, where the layers typically are interconnected using platedthrough holes. Rigid flex circuits are a hybrid construction of flexcircuit consisting of rigid and flexible substrates that are laminatedtogether into a single structure, where the layers typically areelectrically interconnected via plated through holes. In polymer thickfilm (PTF) flex circuits, the circuit conductors are printed onto apolymer base film, where there may be a single conductor layer ormultiple conductor layers that are insulated from one another byrespective printed insulating layers.

In the example flexible adhesive tape platform segments 102 shown inFIGS. 5A-5C, the flexible circuit 116 is a single access flex circuitthat interconnects the components of the adhesive tape platform on asingle side of the flexible circuit 116. In other examples, the flexiblecircuit 116 is a double access flex circuit that includes a front-sideconductive pattern that interconnects the low power communicationsinterface 81, the timer circuit 83, the processor 90, the one or moretransducers 94 (if present), and the memory 96, and allows through-holeaccess (not shown) to a back-side conductive pattern that is connectedto the flexible battery (not shown). In these examples, the front-sideconductive pattern of the flexible circuit 116 connects thecommunications circuits 82, 86 (e.g., receivers, transmitters, andtransceivers) to their respective antennas 84, 88 and to the processor90, and also connects the processor 90 to the one or more sensors 94 andthe memory 96. The backside conductive pattern connects the activeelectronics (e.g., the processor 90, the communications circuits 82, 86,and the transducers) on the front-side of the flexible circuit 116 tothe electrodes of the flexible battery 116 via one or more through holesin the substrate of the flexible circuit 116.

Depending on the target application, the wireless transducing circuits70 are distributed across the flexible adhesive tape platform 100according to a specified sampling density, which is the number ofwireless transducing circuits 70 for a given unit size (e.g., length orarea) of the flexible adhesive tape platform 100. In some examples, aset of multiple flexible adhesive tape platforms 100 are provided thatinclude different respective sampling densities in order to sealdifferent asset sizes with a desired number of wireless transducingcircuits 70. In particular, the number of wireless transducing circuitsper asset size is given by the product of the sampling density specifiedfor the adhesive tape platform and the respective size of the adhesivetape platform 100 needed to seal the asset. This allows an automatedpackaging system to select the appropriate type of flexible adhesivetape platform 100 to use for sealing a given asset with the desiredredundancy (if any) in the number of wireless transducer circuits 70. Insome example applications (e.g., shipping low value goods), only onewireless transducing circuit 70 is used per asset, whereas in otherapplications (e.g., shipping high value goods) multiple wirelesstransducing circuits 70 are used per asset. Thus, a flexible adhesivetape platform 100 with a lower sampling density of wireless transducingcircuits 70 can be used for the former application, and a flexibleadhesive tape platform 100 with a higher sampling density of wirelesstransducing circuits 70 can be used for the latter application. In someexamples, the flexible adhesive tape platforms 100 are color-coded orotherwise marked to indicate the respective sampling densities withwhich the wireless transducing circuits 70 are distributed across thedifferent types of adhesive tape platforms 100.

Referring to FIG. 6A, in some examples, each of one or more of thesegments 270, 272 of a flexible adhesive tape platform 274 includes arespective one-time wake circuit 275 that delivers power from therespective energy source 276 to the respective wireless circuit 278(e.g., a processor, one or more transducers, and one or more wirelesscommunications circuits) in response to an event. In some of theseexamples, the wake circuit 275 is configured to transition from an offstate to an on state when the voltage on the wake node 277 exceeds athreshold level, at which point the wake circuit transitions to an onstate to power-on the segment 270. In the illustrated example, thisoccurs when the user separates the segment from the adhesive tapeplatform 274, for example, by cutting across the adhesive tape platform274 at a designated location (e.g., along a designated cut-line 280). Inparticular, in its initial, un-cut state, a minimal amount of currentflows through the resistors R1 and R2. As a result, the voltage on thewake node 277 remains below the threshold turn-on level. After the usercuts across the adhesive tape platform 274 along the designated cut-line280, the user creates an open circuit in the loop 282, which pulls thevoltage of the wake node above the threshold level and turns on the wakecircuit 275. As a result, the voltage across the energy source 276 willappear across the wireless circuit 278 and, thereby, turn on the segment270. In particular embodiments, the resistance value of resistor R1 isgreater than the resistance value of R2. In some examples, theresistance values of resistors R1 and R2 are selected based on theoverall design of the adhesive product system (e.g., the target wakevoltage level and a target leakage current).

In some examples, each of one or more of the segments of an adhesivetape platform includes a respective sensor and a respective wake circuitthat delivers power from the respective energy source to the respectiveone or more of the respective wireless circuit components 278 inresponse to an output of the sensor. In some examples, the respectivesensor is a strain sensor that produces a wake signal based on a changein strain in the respective segment. In some of these examples, thestrain sensor is affixed to a adhesive tape platform and configured todetect the stretching of the tracking adhesive tape platform segment asthe segment is being peeled off a roll or a sheet of the adhesive tapeplatform. In some examples, the respective sensor is a capacitive sensorthat produces a wake signal based on a change in capacitance in therespective segment. In some of these examples, the capacitive sensor isaffixed to an adhesive tape platform and configured to detect theseparation of the tracking adhesive tape platform segment from a roll ora sheet of the adhesive tape platform. In some examples, the respectivesensor is a flex sensor that produces a wake signal based on a change incurvature in the respective segment. In some of these examples, the flexsensor is affixed to a adhesive tape platform and configured to detectbending of the tracking adhesive tape platform segment as the segment isbeing peeled off a roll or a sheet of the adhesive tape platform. Insome examples, the respective sensor is a near field communicationssensor that produces a wake signal based on a change in inductance inthe respective segment.

FIG. 6B shows another example of an adhesive tape platform 294 thatdelivers power from the respective energy source 276 to the respectivetracking circuit 278 (e.g., a processor, one or more transducers, andone or more wireless communications circuits) in response to an event.This example is similar in structure and operation as the adhesive tapeplatform 294 shown in FIG. 6A, except that the wake circuit 275 isimplemented by a switch 296 that is configured to transition from anopen state to a closed state when the voltage on the switch node 277exceeds a threshold level. In the initial state of the adhesive tapeplatform 294, the voltage on the switch node is below the thresholdlevel as a result of the low current level flowing through the resistorsR1 and R2. After the user cuts across the adhesive tape platform 294along the designated cut-line 280, the user creates an open circuit inthe loop 282, which pulls up the voltage on the switch node above thethreshold level to close the switch 296 and turn on the wireless circuit278.

FIG. 6C shows a diagrammatic cross-sectional front view of an exampleadhesive tape platform 300 and a perspective view of an example asset302. Instead of activating the adhesive tape platform in response toseparating a segment of the adhesive tape platform from a roll or asheet of the adhesive tape platform, this example is configured tosupply power from the energy source 302 to turn on the wirelesstransducing circuit 306 in response to establishing an electricalconnection between two power terminals 308, 310 that are integrated intothe adhesive tape platform. In particular, each segment of the adhesivetape platform 300 includes a respective set of embedded trackingcomponents, an adhesive layer 312, and an optional backing sheet 314with a release coating that prevents the segments from adhering stronglyto the backing sheet 314. In some examples, the power terminals 308, 310are composed of an electrically conductive material (e.g., a metal, suchas copper) that may be printed or otherwise patterned and/or depositedon the backside of the adhesive tape platform 300. In operation, theadhesive tape platform can be activated by removing the backing sheet314 and applying the exposed adhesive layer 312 to a surface thatincludes an electrically conductive region 316. In the illustratedembodiment, the electrically conductive region 316 is disposed on aportion of the asset 302. When the adhesive backside of the adhesivetape platform 300 is adhered to the asset with the exposed terminals308, 310 aligned and in contact with the electrically conductive region316 on the asset 302, an electrical connection is created through theelectrically conductive region 316 between the exposed terminals 308,310 that completes the circuit and turns on the wireless transducingcircuit 306. In particular embodiments, the power terminals 308, 310 areelectrically connected to any respective nodes of the wirelesstransducing circuit 306 that would result in the activation of thetracking circuit 306 in response to the creation of an electricalconnection between the power terminals 308, 310.

In some examples, after a tape node is turned on, it will communicatewith the network service to confirm that the user/operator who isassociated with the tape node is an authorized user who hasauthenticated himself or herself to the network service 54. In theseexamples, if the tape node cannot confirm that the user/operator is anauthorized user, the tape node will turn itself off.

Deployment of Tape Nodes

FIG. 7 shows an example network communications environment 400 (alsoreferred to herein as an “IoT system” 400) that includes a network 402that supports communications between one or more servers 404 executingone or more applications of a network service 408, mobile gateways 410,412, a stationary gateway 414, and various types of tape nodes that areassociated with various assets (e.g., parcels, equipment, tools,persons, and other things). Each member of the IoT system 400 may bereferred to as a node of the IoT system 400, including the tape nodes,other wireless IoT devices, gateways (stationary and mobile), clientdevices, and servers. In some examples, the network 402 includes one ormore network communication systems and technologies, including any oneor more of wide area networks, local area networks, public networks(e.g., the internet), private networks (e.g., intranets and extranets),wired networks, and wireless networks. For example, the network 402includes communications infrastructure equipment, such as a geolocationsatellite system 416 (e.g., GPS, GLONASS, and NAVSTAR), cellularcommunication systems (e.g., GSM/GPRS), Wi-Fi communication systems, RFcommunication systems (e.g., LoRa), Bluetooth communication systems(e.g., a Bluetooth Low Energy system), Z-wave communication systems, andZigBee communication systems.

In some examples, the one or more network service applications 406leverage the above-mentioned communications technologies to create ahierarchical wireless network of tape nodes that improves assetmanagement operations by reducing costs and improving efficiency in awide range of processes, from asset packaging, asset transporting, assettracking, asset condition monitoring, asset inventorying, and assetsecurity verification. Communication across the network is secured by avariety of different security mechanisms. In the case of existinginfrastructure, a communication link the communication uses theinfrastructure security mechanisms. In case of communications amongtapes nodes, the communication is secured through a custom securitymechanism. In certain cases, tape nodes can also be configured tosupport block chain to protect the transmitted and stored data.

A set of tape nodes can be configured by the network service 408 tocreate hierarchical communications network. The hierarchy can be definedin terms of one or more factors, including functionality (e.g., wirelesstransmission range or power), role (e.g., master tape node vs.peripheral tape node), or cost (e.g., a tape node equipped with acellular transceiver vs. a peripheral tape node equipped with aBluetooth LE transceiver). Tape nodes can be assigned to differentlevels of a hierarchical network according to one or more of theabove-mentioned factors. For example, the hierarchy can be defined interms of communication range or power, where tape nodes with higherpower or longer communication range transceivers are arranged at ahigher level of the hierarchy than tape nodes with lower power or lowerrange transceivers. In another example, the hierarchy is defined interms of role, where, e.g., a master tape node is programmed to bridgecommunications between a designated group of peripheral tape nodes and agateway node or server node. The problem of finding an optimalhierarchical structure can be formulated as an optimization problem withbattery capacity of nodes, power consumption in various modes ofoperation, desired latency, external environment, etc. and can be solvedusing modern optimization methods e.g. neural networks, artificialintelligence, and other machine learning computing systems that takeexpected and historical data to create an optimal solution and cancreate algorithms for modifying the system's behavior adaptively in thefield.

The tape nodes may be deployed by automated equipment or manually. Inthis process, a tape node typically is separated from a roll or sheetand adhered to a asset, or other stationary or mobile object (e.g., astructural element of a warehouse, or a vehicle, such as a deliverytruck) or stationary object (e.g., a structural element of a building).This process activates the tape node and causes the tape node tocommunicate with a server 404 of the network service 408. In thisprocess, the tape node may communicate through one or more other tapenodes in the communication hierarchy. In this process, the networkserver 404 executes the network service application 406 toprogrammatically configure tape nodes that are deployed in theenvironment 400. In some examples, there are multiple classes or typesof tape nodes, where each tape node class has a different respective setof functionalities and/or capacities.

In some examples, the one or more network service servers 404communicate over the network 402 with one or more gateways that areconfigured to send, transmit, forward, or relay messages to the network402 and activated tape nodes that are associated with respective assetsand within communication range. Example gateways include mobile gateways410, 412 and a stationary gateway 414. In some examples, the mobilegateways 410, 412, and the stationary gateway 414 are able tocommunicate with the network 402 and with designated sets or groups oftape nodes.

In some examples, the mobile gateway 412 is a vehicle (e.g., a deliverytruck or other mobile hub) that includes a wireless communications unit416 that is configured by the network service 408 to communicate with adesignated set of tape nodes, including a peripheral tape node 418 inthe form of a label that is adhered to an asset 420 contained within aparcel 421 (e.g., an envelope), and is further configured to communicatewith the network service 408 over the network 402. In some examples, theperipheral tape node 418 includes a lower power wireless communicationsinterface of the type used in, e.g., tape node 102 (shown in FIG. 5A),and the wireless communications unit 416 is implemented by a tape node(e.g., one of tape node 103 or tape node 105, respectively shown inFIGS. 5B and 5C) that includes a lower power communications interfacefor communicating with tape nodes within range of the mobile gateway 412and a higher power communications interface for communicating with thenetwork 402. In this way, the tape nodes 418 and 416 create ahierarchical wireless network of nodes for transmitting, forwarding,bridging, relaying, or otherwise communicating wireless messages to,between, or on behalf of the peripheral tape node 418 and the networkservice 408 in a power-efficient and cost-effective way.

In some examples, the mobile gateway 410 is a mobile phone that isoperated by a human operator and executes a client application 422 thatis configured by the network service 408 to communicate with adesignated set of tape nodes, including a master tape node 424 that isadhered to a parcel 426 (e.g., a box), and is further configured tocommunicate with the network service 408 over the network 402. In theillustrated example, the parcel 426 contains a first parcel labeled orsealed by a tape node 428 and containing a first asset 430, and a secondparcel labeled or sealed by a tape node 432 and containing a secondasset 434. As explained in detail below, the master tape node 424communicates with each of the peripheral tape nodes 428, 432 andcommunicates with the mobile gateway 408 in accordance with ahierarchical wireless network of tape nodes. In some examples, each ofthe peripheral tape nodes 428, 432 includes a lower power wirelesscommunications interface of the type used in, e.g., tape node 102 (shownin FIG. 5A), and the master tape node 424 is implemented by a tape node(e.g., tape node 103, shown in FIG. 5B) that includes a lower powercommunications interface for communicating with the peripheral tapenodes 428, 432 contained within the parcel 426, and a higher powercommunications interface for communicating with the mobile gateway 410.The master tape node 424 is operable to relay wireless communicationsbetween the tape nodes 428, 432 contained within the parcel 426 and themobile gateway 410, and the mobile gateway 410 is operable to relaywireless communications between the master tape node 424 and the networkservice 408 over the wireless network 402. In this way, the master tapenode 424 and the peripheral tape nodes 428 and 432 create a hierarchicalwireless network of nodes for transmitting, forwarding, relaying, orotherwise communicating wireless messages to, between, or on behalf ofthe peripheral tape nodes 428, 432 and the network service 408 in apower-efficient and cost-effective way.

In some examples, the stationary gateway 414 is implemented by a serverexecuting a server application that is configured by the network service408 to communicate with a designated set 440 of tape nodes 442, 444,446, 448 that are adhered to respective parcels containing respectiveassets 450, 452, 454, 456 on a pallet 458. In other examples, thestationary gateway 414 is implemented by a tape node (e.g., one of tapenode 103 or tape node 105, respectively shown in FIGS. 5B and 5C) thatis adhered to, for example, a wall, column or other infrastructurecomponent of the environment 400, and includes a lower powercommunications interface for communicating with tape nodes within rangeof the stationary gateway 414 and a higher power communicationsinterface for communicating with the network 402. In one embodiment,each of the tape nodes 442-448 is a peripheral tape node and isconfigured by the network service 408 to communicate individually withthe stationary gateway 414, which relays communications from the tapenodes 442-448 to the network service 408 through the stationary gateway414 and over the communications network 402. In another embodiment, oneof the tape nodes 442-448 at a time is configured as a master tape nodethat transmits, forwards, relays, or otherwise communicate wirelessmessages to, between, or on behalf of the other tape nodes on the pallet458. In this embodiment, the master tape node may be determined by thetape nodes 442-448 or designated by the network service 408. In someexamples, the tape node with the longest range or highest remainingpower level is determined to be the master tape node. In some examples,when the power level of the current master tape node drops below acertain level (e.g., a fixed power threshold level or a threshold levelrelative to the power levels of one or more of the other tape nodes),another one of the tape nodes assumes the role of the master tape node.In some examples, a master tape node 459 is adhered to the pallet 458and is configured to perform the role of a master node for the tapenodes 442-448. In these ways, the tape nodes 442-448, 458 areconfigurable to create different hierarchical wireless networks of nodesfor transmitting, forwarding, relaying, bridging, or otherwisecommunicating wireless messages with the network service 408 through thestationary gateway 414 and over the network 402 in a power-efficient andcost-effective way.

In the illustrated example, the stationary gateway 414 also isconfigured by the network service 408 to communicate with a designatedset of tape nodes, including a master tape node 460 that is adhered tothe inside of a door 462 of a shipping container 464, and is furtherconfigured to communicate with the network service 408 over the network402. In the illustrated example, the shipping container 464 contains anumber of parcels labeled or sealed by respective peripheral tape nodes466 and containing respective assets. The master tape node 416communicates with each of the peripheral tape nodes 466 and communicateswith the stationary gateway 415 in accordance with a hierarchicalwireless network of tape nodes. In some examples, each of the peripheraltape nodes 466 includes a lower power wireless communications interfaceof the type used in, e.g., tape node 102 (shown in FIG. 5A), and themaster tape node 460 is implemented by a tape node (e.g., tape node 103,shown in FIG. 5B) that includes a lower power communications interfacefor communicating with the peripheral tape nodes 466 contained withinthe shipping container 464, and a higher power communications interfacefor communicating with the stationary gateway 414.

In some examples, when the doors of the shipping container 464 areclosed, the master tape node 460 is operable to communicate wirelesslywith the peripheral tape nodes 466 contained within the shippingcontainer 464. In an example, the master tape node 460 is configured tocollect sensor data from the peripheral tape nodes and, in someembodiments, process the collected data to generate, for example, one ormore histograms from the collected data. When the doors of the shippingcontainer 464 are open, the master tape node 460 is programmed to detectthe door opening (e.g., with an accelerometer component of the mastertape node 460) and, in addition to reporting the door opening event tothe network service 408, the master tape node 460 is further programmedto transmit the collected data and/or the processed data in one or morewireless messages to the stationary gateway 414. The stationary gateway414, in turn, is operable to transmit the wireless messages receivedfrom the master tape node 460 to the network service 408 over thewireless network 402. Alternatively, in some examples, the stationarygateway 414 also is operable to perform operations on the data receivedfrom the master tape node 460 with the same type of data produced by themaster node 459 based on sensor data collected from the tape nodes442-448. In this way, the master tape node 460 and the peripheral tapenodes 466 create a hierarchical wireless network of nodes fortransmitting, forwarding, relaying, or otherwise communicating wirelessmessages to, between, or on behalf of the peripheral tape nodes 466 andthe network service 408 in a power-efficient and cost-effective way.

In an example of the embodiment shown in FIG. 7 , there are threeclasses of tape nodes: a short range tape node, a medium range tapenode, and a long range tape node, as respectively shown in FIGS. 5A-5C.The short range tape nodes typically are adhered directly to parcelscontaining assets. In the illustrated example, the tape nodes 418, 428,432, 442-448, 466 are short range tape nodes. The short range tape nodestypically communicate with a low power wireless communication protocol(e.g., Bluetooth LE, Zigbee, or Z-wave). The medium range tape nodestypically are adhered to objects (e.g., a box 426 and a shippingcontainer 460) that are associated with multiple parcels that areseparated from the medium range tape nodes by a barrier or a largedistance. In the illustrated example, the tape nodes 424 and 460 aremedium range tape nodes. The medium range tape nodes typicallycommunicate with a medium power wireless communication protocol (e.g.,LoRa or Wi-Fi). The long-range tape nodes typically are adhered tomobile or stationary infrastructure of the wireless communicationenvironment 400. In the illustrated example, the mobile gateway tapenode 412 and the stationary gateway tape node 414 are long range tapenodes. The long range tape nodes typically communicate with other nodesusing a high power wireless communication protocol (e.g., a cellulardata communication protocol). In some examples, the mobile gateway tapenode 436 is adhered to a mobile vehicle (e.g., a truck). In theseexamples, the mobile gateway 412 may be moved to different locations inthe environment 400 to assist in connecting other tape nodes to theserver 404. In some examples, the stationary gateway tape node 414 maybe attached to a stationary structure (e.g., a wall) in the environment400 with a known geographic location. In these examples, other tapenodes in the environment can determine their geographic location byquerying the gateway tape node 414.

Wireless Communications Network

FIG. 8 shows an example hierarchical wireless communications network oftape nodes 470. In this example, the short range tape node 472 and themedium range tape node 474 communicate with one another over theirrespective low power wireless communication interfaces 476, 478. Themedium range tape node 474 and the long range tape node 480 communicatewith one another over their respective medium power wirelesscommunication interfaces 478, 482. The long range tape node 480 and thenetwork server 404 communicate with one another over the high powerwireless communication interface 484. In some examples, the low powercommunication interfaces 476, 478 establish wireless communications withone another in accordance with the Bluetooth LE protocol, the mediumpower communication interfaces 452, 482 establish wirelesscommunications with one another in accordance with the LoRacommunications protocol, and the high power communication interface 484establishes wireless communications with the server 404 in accordancewith a cellular communications protocol.

In some examples, the different types of tape nodes are deployed atdifferent levels in the communications hierarchy according to theirrespective communications ranges, with the long range tape nodesgenerally at the top of the hierarchy, the medium range tape nodesgenerally in the middle of the hierarchy, and the short range tape nodesgenerally at the bottom of the hierarchy. In some examples, thedifferent types of tape nodes are implemented with different featuresets that are associated with component costs and operational costs thatvary according to their respective levels in the hierarchy. This allowssystem administrators flexibility to optimize the deployment of the tapenodes to achieve various objectives, including cost minimization, assettracking, asset localization, and power conservation.

In some examples, a server 404 of the network service 408 designates atape node at a higher level in a hierarchical communications network asa master node of a designated set of tape nodes at a lower level in thehierarchical communications network. For example, the designated mastertape node may be adhered to a parcel (e.g., a box, pallet, or shippingcontainer) that contains one or more tape nodes that are adhered to oneor more assets containing respective assets. In order to conserve power,the tape nodes typically communicate according to a schedule promulgatedby the server 404 of the network service 408. The schedule usuallydictates all aspects of the communication, including the times whenparticular tape nodes should communicate, the mode of communication, andthe contents of the communication. In one example, the server 404transmits programmatic Global Scheduling Description Language (GSDL)code to the master tape node and each of the lower-level tape nodes inthe designated set. In this example, execution of the GSDL code causeseach of the tape nodes in the designated set to connect to the mastertape node at a different respective time that is specified in the GSDLcode, and to communicate a respective set of one or more data packets ofone or more specified types of information over the respectiveconnection. In some examples, the master tape node simply forwards thedata packets to the server network node 404, either directly orindirectly through a gateway tape node (e.g., the long range tape node416 adhered to the mobile vehicle 412 or the long range tape node 414adhered to an infrastructure component of the environment 400). In otherexamples, the master tape node processes the information contained inthe received data packets and transmits the processed information to theserver network node 404.

FIG. 9 shows an example method of creating a hierarchical communicationsnetwork. In accordance with this method, a first tape node is adhered toa first asset in a set of associated assets, the first tape nodeincluding a first type of wireless communication interface and a secondtype of wireless communication interface having a longer range than thefirst type of wireless communication interface (FIG. 9 , block 490). Asecond tape node is adhered to a second asset in the set, the secondtape node including the first type of wireless communication interface,wherein the second tape node is operable to communicate with the firsttape node over a wireless communication connection established betweenthe first type of wireless communication interfaces of the first andsecond tape nodes (FIG. 9 , block 492). An application executing on acomputer system (e.g., a server 404 of a network service 408)establishes a wireless communication connection with the second type ofwireless communication interface of the first tape node, and theapplication transmits programmatic code executable by the first tapenode to function as a master tape node with respect to the second tapenode (FIG. 9 , block 494).

In other embodiments, the second tape node is assigned the role of themaster node of the first tape node.

Distributed Agent Operating System

As used herein, the term “node” refers to both a tape node and anon-tape node (i.e., a node or wireless device that is not an adhesivetape platform) unless the node is explicitly designated as a “tape node”or a “non-tape node.” In some embodiments, a non-tape node may have thesame or similar communication, sensing, processing and otherfunctionalities and capabilities as the tape nodes described herein,except without being integrated into a tape platform. In someembodiments, non-tape nodes can interact seamlessly with tape nodes.Each node may be assigned a respective unique identifier, according tosome embodiments.

The following disclosure describes a distributed software operatingsystem that is implemented by distributed hardware nodes executingintelligent agent software to perform various tasks or algorithms. Insome embodiments, the operating system distributes functionalities(e.g., performing analytics on data or statistics collected or generatedby nodes) geographically across multiple intelligent agents that arebound to items (e.g., parcels, containers, packages, boxes, pallets, aloading dock, a door, a light switch, a vehicle such as a deliverytruck, a shipping facility, a port, a hub, etc.). In addition, theoperating system dynamically allocates the hierarchical roles (e.g.,master and slave roles) that nodes perform over time in order to improvesystem performance, such as optimizing battery life across nodes,improving responsiveness, and achieving overall objectives. In someembodiments, optimization is achieved using a simulation environment foroptimizing key performance indicators (PKIs).

In some embodiments, the nodes are programmed to operate individually orcollectively as autonomous intelligent agents. In some embodiments,nodes are configured to communicate and coordinate actions and respondto events. In some embodiments, a node is characterized by its identity,its mission, and the services that it can provide to other nodes. Anode's identity is defined by its capabilities (e.g., battery life,sensing capabilities, and communications interfaces). A node's mission(or objective) is defined by the respective program code, instructions,or directives it receives from another node (e.g., a server or a masternode) and the actions or tasks that it performs in accordance with thatprogram code, instructions, or directives (e.g., sense temperature everyhour and send temperature data to a master node to upload to a server).A node's services define the functions or tasks that it is permitted toperform for other nodes (e.g., retrieve temperature data from aperipheral node and send the received temperature data to the server).At least for certain tasks, once programmed and configured with theiridentities, missions, and services, nodes can communicate with oneanother and request services from and provide services to one anotherindependently of the server.

Thus, in accordance with the runtime operating system every agent knowsits objectives (programmed). Every agent knows whichcapabilities/resources it needs to fulfill objective. Every agentcommunicates with every other node in proximity to see if it can offerthe capability. Examples include communicate data to the server,authorize going to lower power level, temperature reading, send an alertto local hub, send location data, triangulate location, any boxes insame group that already completed group objectives.

Nodes can be associated with items. Examples of an item includes, butare not limited to for example, a package, a box, pallet, a container, atruck or other conveyance, infrastructure such as a door, a conveyorbelt, a light switch, a road, or any other thing that can be tracked,monitored, sensed, etc. or that can transmit data concerning its stateor environment. In some examples, a server or a master node mayassociate the unique node identifiers with the items.

Communication paths between tape and/or non-tape nodes may berepresented by a graph of edges between the corresponding assets (e.g.,a storage unit, truck, or hub). In some embodiments, each node in thegraph has a unique identifier. A set of connected edges between nodes isrepresented by a sequence of the node identifiers that defines acommunication path between a set of nodes.

Referring to FIG. 10A, a node 520 (Node A) is associated with an asset522 (Asset A). In some embodiments, the node 520 may be implemented as atape node that is used to seal the asset 522 or it may be implemented asa label node that is used to label the asset 522; alternatively, thenode 520 may be implemented as a non-tape node that is inserted withinthe asset 522 or embedded in or otherwise attached to the interior orexterior of the asset 522. In the illustrated embodiment, the node 520includes a low power communications interface 524 (e.g., a Bluetooth LowEnergy communications interface). Another node 526 (Node B), which isassociated with another asset 530 (Asset B), is similarly equipped witha compatible low power communications interface 528 (e.g., a BluetoothLow Energy communications interface).

In an example scenario, in accordance with the programmatic code storedin its memory, node 526 (Node B) requires a connection to node 520 (NodeA) to perform a task that involves checking the battery life of Node A.Initially, Node B is unconnected to any other nodes. In accordance withthe programmatic code stored in its memory, Node B periodicallybroadcasts advertising packets into the surrounding area. When the othernode 520 (Node A) is within range of Node B and is operating in alistening mode, Node A will extract the address of Node B andpotentially other information (e.g., security information) from anadvertising packet. If, according to its programmatic code, Node Adetermines that it is authorized to connect to Node B, Node A willattempt to pair with Node B. In this process, Node A and Node Bdetermine each other's identities, capabilities, and services. Forexample, after successfully establishing a communication path 532 withNode A (e.g., a Bluetooth Low Energy formatted communication path), NodeB determines Node A's identity information (e.g., master node), Node A'scapabilities include reporting its current battery life, and Node A'sservices include transmitting its current battery life to other nodes.In response to a request from Node B, Node A transmits an indication ofits current battery life to Node B.

Referring to FIG. 10B, a node 534 (Node C) is associated with an asset535 (Asset C). In the illustrated embodiment, the Node C includes a lowpower communications interface 536 (e.g., a Bluetooth Low Energycommunications interface), and a sensor 537 (e.g., a temperaturesensor). Another node 538 (Node D), which is associated with anotherasset 540 (Asset D), is similarly equipped with a compatible low powercommunications interface 542 (e.g., a Bluetooth Low Energycommunications interface).

In an example scenario, in accordance with the programmatic code storedin its memory, Node D requires a connection to Node C to perform a taskthat involves checking the temperature in the vicinity of Node C.Initially, Node D is unconnected to any other nodes. In accordance withthe programmatic code stored in its memory, Node D periodicallybroadcasts advertising packets in the surrounding area. When Node C iswithin range of Node D and is operating in a listening mode, Node C willextract the address of Node D and potentially other information (e.g.,security information) from the advertising packet. If, according to itsprogrammatic code, Node C determines that it is authorized to connect toNode D, Node C will attempt to pair with Node D. In this process, Node Cand Node D determine each other's identities, capabilities, andservices. For example, after successfully establishing a communicationpath 544 with Node C (e.g., a Bluetooth Low Energy formattedcommunication path), Node D determines Node C's identity information(e.g., a peripheral node), Node C's capabilities include retrievingtemperature data, and Node C's services include transmitting temperaturedata to other nodes. In response to a request from Node D, Node Ctransmits its measured and/or locally processed temperature data to NodeD.

Referring to FIG. 10C, a pallet 550 is associated with a master node 551that includes a low power communications interface 552, a GPS receiver554, and a cellular communications interface 556. In some embodiments,the master node 551 may be implemented as a tape node or a label nodethat is adhered to the pallet 550. In other embodiments, the master node551 may be implemented as a non-tape node that is inserted within thebody of the pallet 550 or embedded in or otherwise attached to theinterior or exterior of the pallet 550.

The pallet 550 provides a structure for grouping and containing assets559, 561, 563 each of which is associated with a respective peripheralnode 558, 560, 562 (Node E, Node F, and Node G). Each of the peripheralnodes 558, 560, 562 includes a respective low power communicationsinterface 564, 566, 568 (e.g., Bluetooth Low Energy communicationsinterface). In the illustrated embodiment, each of the nodes E, F, G andthe master node 551 are connected to each of the other nodes over arespective low power communications path (shown by dashed lines).

In some embodiments, the assets 559, 561, 563 are grouped togetherbecause they are related. For example, the assets 559, 561, 563 mayshare the same shipping itinerary or a portion thereof. In an examplescenario, the master pallet node 550 scans for advertising packets thatare broadcasted from the peripheral nodes 558, 560, 562. In someexamples, the peripheral nodes broadcast advertising packets duringrespective scheduled broadcast intervals. The master node 551 candetermine the presence of the assets 559, 561, 563 in the vicinity ofthe pallet 550 based on receipt of one or more advertising packets fromeach of the nodes E, F, and G. In some embodiments, in response toreceipt of advertising packets broadcasted by the peripheral nodes 558,560, 562, the master node 551 transmits respective requests to theserver to associate the master node 551 and the respective peripheralnodes 558, 560, 562. In some examples, the master tape node requestsauthorization from the server to associate the master tape node and theperipheral tape nodes. If the corresponding assets 559, 561, 563 areintended to be grouped together (e.g., they share the same itinerary orcertain segments of the same itinerary), the server authorizes themaster node 551 to associate the peripheral nodes 558, 560, 562 with oneanother as a grouped set of assets. In some embodiments, the serverregisters the master node and peripheral tape node identifiers with agroup identifier. The server also may associate each node ID with arespective physical label ID that is affixed to the respective asset.

In some embodiments, after an initial set of assets is assigned to amulti-asset group, the master node 551 may identify another assetarrives in the vicinity of the multi-asset group. The master node mayrequest authorization from the server to associate the other asset withthe existing multi-asset group. If the server determines that the otherasset is intended to ship with the multi-asset group, the serverinstructs the master node to merge one or more other assets withcurrently grouped set of assets. After all assets are grouped together,the server authorizes the multi-asset group to ship. In someembodiments, this process may involve releasing the multi-asset groupfrom a containment area (e.g., customs holding area) in a shipmentfacility.

In some embodiments, the peripheral nodes 558, 560, 562 includeenvironmental sensors for obtaining information regarding environmentalconditions in the vicinity of the associated assets 559, 561, 563.Examples of such environmental sensors include temperature sensors,humidity sensors, acceleration sensors, vibration sensors, shocksensors, pressure sensors, altitude sensors, light sensors, andorientation sensors.

In the illustrated embodiment, the master node 551 can determine its ownlocation based on geolocation data transmitted by a satellite-basedradio navigation system 570 (e.g., GPS, GLONASS, and NAVSTAR) andreceived by the GPS receiver 554 component of the master node 551. In analternative embodiment, the location of the master pallet node 551 canbe determined using cellular based navigation techniques that use mobilecommunication technologies (e.g., GSM, GPRS, CDMA, etc.) to implementone or more cell-based localization techniques. After the master node551 has ascertained its location, the distance of each of the assets559, 561, 563 from the master node 551 can be estimated based on theaverage signal strength of the advertising packets that the master node551 receives from the respective peripheral node. The master node 551can then transmit its own location and the locations of the asset nodesE, F, and G to a server over a cellular interface connection with a celltower 572. Other methods of determining the distance of each of theassets 559, 561, 563 from the master node 551, such as ReceivedSignal-Strength Index (RSSI) based indoor localization techniques, alsomay be used.

In some embodiments, after determining its own location and thelocations of the peripheral nodes, the master node 551 reports thelocation data and the collected and optionally processed (e.g., eitherby the peripheral nodes peripheral nodes 558, 560, 562 or the masternode 551) sensor data to a server over a cellular communication path 571on a cellular network 572.

In some examples, nodes are able to autonomously detect logisticsexecution errors if assets that suppose to travel together no longertravel together, and raise an alert. For example, a node (e.g., themaster node 551 or one of the peripheral nodes 558, 560, 562) alerts theserver when the node determines that a particular asset 559 is being orhas already been improperly separated from the group of assets. The nodemay determine that there has been an improper separation of theparticular asset 559 in a variety of ways. For example, the associatednode 558 that is bound to the particular asset 559 may include anaccelerometer that generates a signal in response to movement of theasset from the pallet. In accordance with its intelligent agent programcode, the associated node 558 determines that the master node 551 hasnot disassociated the particular asset 559 from the group and thereforebroadcasts advertising packets to the master node, which causes themaster node 551 to monitor the average signal strength of theadvertising packets and, if the master node 551 determines that thesignal strength is decreasing over time, the master node 551 will issuean alert either locally (e.g., through a speaker component of the masternode 551) or to the server.

Referring to FIG. 10D, a truck 580 is configured as a mobile node ormobile hub that includes a cellular communications interface 582, amedium power communications interface 584, and a low powercommunications interface 586. The communications interfaces 580-586 maybe implemented on one or more tape and non-tape nodes. In anillustrative scenario, the truck 580 visits a storage facility, such asa warehouse 588, to wirelessly obtain temperature data generated bytemperature sensors in the medium range nodes 590, 592, 594. Thewarehouse 588 contains nodes 590, 592, and 594 that are associated withrespective assets 591, 593, 595. In the illustrated embodiment, eachnode 590-594 is a medium range node that includes a respective mediumpower communications interface 596, 602, 608, a respective low powercommunications interface 598, 604, 610 and one or more respectivesensors 600, 606, 612. In the illustrated embodiment, each of the assetnodes 590, 592, 594 and the truck 580 is connected to each of the otherones of the asset nodes through a respective medium power communicationspath (shown by dashed lines). In some embodiments, the medium powercommunications paths are LoRa formatted communication paths.

In some embodiments, the communications interfaces 584 and 586 (e.g., aLoRa communications interface and a Bluetooth Low Energy communicationsinterface) on the node on the truck 580 is programmed to broadcastadvertisement packets to establish connections with other network nodeswithin range of the truck node. A warehouse 588 includes medium rangenodes 590, 592, 594 that are associated with respective containers 591,593, 595 (e.g., assets, boxes, pallets, and the like). When the trucknode's low power interface 586 is within range of any of the mediumrange nodes 590, 592, 594 and one or more of the medium range nodes isoperating in a listening mode, the medium range node will extract theaddress of truck node and potentially other information (e.g., securityinformation) from the advertising packet. If, according to itsprogrammatic code, the truck node determines that it is authorized toconnect to one of the medium range nodes 590, 592, 594, the truck nodewill attempt to pair with the medium range node. In this process, thetruck node and the medium range node determine each other's identities,capabilities, and services. For example, after successfully establishinga communication path with the truck node (e.g., a Bluetooth Low Energyformatted communication path 614 or a LoRa formatted communication path617), the truck node determines the identity information for the mediumrange node 590 (e.g., a peripheral node), the medium range node'scapabilities include retrieving temperature data, and the medium rangenode's services include transmitting temperature data to other nodes.Depending of the size of the warehouse 588, the truck 580 initially maycommunicate with the nodes 590, 592, 594 using a low powercommunications interface (e.g., Bluetooth Low Energy interface). If anyof the anticipated nodes fails to respond to repeated broadcasts ofadvertising packets by the truck 580, the truck 580 will try tocommunicate with the non-responsive nodes using a medium powercommunications interface (e.g., LoRa interface). In response to arequest from the truck node 584, the medium range node 590 transmits anindication of its measured temperature data to the truck node. The trucknode repeats the process for each of the other medium range nodes 592,594 that generate temperature measurement data in the warehouse 588. Thetruck node reports the collected (and optionally processed, either bythe medium range nodes 590, 592, 594 or the truck node) temperature datato a server over a cellular communication path 616 with a cellularnetwork 618.

Referring to FIG. 10E, a master node 630 is associated with an item 632(e.g., an asset) and grouped together with other items 634, 636 (e.g.,assets) that are associated with respective peripheral nodes 638, 640.The master node 630 includes a GPS receiver 642, a medium powercommunications interface 644, one or more sensors 646, and a cellularcommunications interface 648. Each of the peripheral nodes 638, 640includes a respective medium power communications interface 650, 652 andone or more respective sensors 654, 656. In the illustrated embodiment,the peripheral and master nodes are connected to one another other overrespective pairwise communications paths (shown by dashed lines). Insome embodiments, the nodes 630 638, 640 communicate through respectiveLoRa communications interfaces over LoRa formatted communications paths658, 660, 662.

In the illustrated embodiment, the master and peripheral nodes 638, 638,640 include environmental sensors for obtaining information regardingenvironmental conditions in the vicinity of the associated assets 632,634, 636. Examples of such environmental sensors include temperaturesensors, humidity sensors, acceleration sensors, vibration sensors,shock sensors, pressure sensors, altitude sensors, light sensors, andorientation sensors.

In accordance with the programmatic code stored in its memory, themaster node 630 periodically broadcasts advertising packets in thesurrounding area. When the peripheral nodes 638, 640 are within range ofmaster node 630, and are operating in a listening mode, the peripheralnodes 638, 640 will extract the address of master node 630 andpotentially other information (e.g., security information) from theadvertising packets. If, according to their respective programmaticcode, the peripheral nodes 638, 640 determine that hey are authorized toconnect to the master node 630, the peripheral nodes 638, 640 willattempt to pair with the master node 630. In this process, theperipheral nodes 638, 640 and the master node and the peripheral nodesdetermine each other's identities, capabilities, and services. Forexample, after successfully establishing a respective communication path658, 660 with each of the peripheral nodes 638, 640 (e.g., a LoRaformatted communication path), the master node 630 determines certaininformation about the peripheral nodes 638, 640, such as their identityinformation (e.g., peripheral nodes), their capabilities (e.g.,measuring temperature data), and their services include transmittingtemperature data to other nodes.

After establishing LoRa formatted communications paths 658, 660 with theperipheral nodes 638, 640, the master node 630 transmits requests forthe peripheral nodes 638, 640 to transmit their measured and/or locallyprocessed temperature data to the master node 630.

In the illustrated embodiment, the master node 630 can determine its ownlocation based on geolocation data transmitted by a satellite-basedradio navigation system 666 (e.g., GPS, GLONASS, and NAVSTAR) andreceived by the GPS receiver 642 component of the master node 630. In analternative embodiment, the location of the master node 630 can bedetermined using cellular based navigation techniques that use mobilecommunication technologies (e.g., GSM, GPRS, CDMA, etc.) to implementone or more cell-based localization techniques. After the master node630 has ascertained its location, the distance of each of the assets634, 636 from the master node 630 can be estimated based on the averagesignal strength of the advertising packets that the master node 630receives from the respective peripheral node. The master node 630 canthen transmit its own location and the locations of the asset nodes E,F, and G to a server over a cellular interface connection with a celltower 672. Other methods of determining the distance of each of theassets 634, 636 from the master node 630, such as ReceivedSignal-Strength Index (RSSI) based indoor localization techniques, alsomay be used.

In some embodiments, after determining its own location and thelocations of the peripheral nodes, the master node 630 reports thelocation data the collected and optionally processed (e.g., either bythe peripheral nodes peripheral nodes 634, 636 or the master node 630)sensor data to a server over a cellular communication path 670 on acellular network 672.

Fast Replacement of Wireless Nodes

FIG. 11 is a diagram showing an example of phases 1101, 1102, 1103 of adisclosed process for fast replacement of a tape node, according to someembodiments. In this example a tape node 1110 (Tape Node A) has beenadhered to a surface of an asset 1120. The Tape Node A is a wirelessnode of an embodiment of the IoT system 400. The Tape Node A includes atwo-dimensional barcode 1111 that appears on the non-adhesive side ofthe Tape Node A. The Tape Node A may include wireless communicationcomponents and/or sensor components as described above, with respect toFIGS. 2-4 and 5A-5C. The Tape Node A is able to wirelessly communicatewith other wireless nodes of the IoT system 400. The Tape Node Aincludes at least a first wireless communication system (e.g.,Bluetooth) for communicating with other tape nodes within a firstcommunication range. In some embodiments, the Tape Node A also includesa second wireless communication system (e.g., LoRa) having a secondcommunication range for communicating with a gateway device or anothertape node capable of communicating via the second wireless communicationsystem. The second communication range may be longer than the firstcommunication range, according to some embodiments.

In a first phase 1101 of the example replacement process, the Tape NodeA is at a low battery level (e.g., it's battery level is lower than aslow threshold value) and requires an imminent replacement before theTape Node A depletes its battery so that the IoT system 400 does notlose functionality associated with the Tape Node A when the Tape NodeA's battery is depleted. In some embodiments, the Tape Node A isassociated with the asset 1120 and is configured to monitor informationon the asset 1120. The information on the asset 1120 may include sensordata from sensors of the Tape Node A. The information may include alocation of the asset 1120, in some embodiments. The asset 1120 may be astationary object, such as a fixed piece of equipment that's installedat a location, or a mobile object, such as a parcel or a tool that maybe carried to different locations.

In some embodiments, in response to detecting that its own battery levelis low or below a threshold level, the Tape Node A broadcasts a wirelesssignal that indicates the need for replacement of Tape Node A. Forexample, the Tape Node A may broadcast an alert to other wireless nodesof the IoT system 400. This alert may be transmitted directly to theserver(s) 404, if the Tape Node A is capable of connecting to theserver(s) directly or through a gateway node of the IoT system 400. Forexample, if the Tape Node A and a gateway node are both within the firstwireless communication range, with the gateway node having a wirelesscommunication system compatible with the first wireless communicationsystem of the Tape Node A, wherein the gateway node is also wirelesslyconnected to the server(s) through an internet connection or a cellularcommunication connection, the Tape Node A may transmit the alert to thegateway node which in turn relays the alert to the server(s). Theserver(s), in response to receiving the alert, may issue a notificationand/or instructions to a user of the IoT system on an associated clientdevice (e.g., a smartphone) via an app installed on the client device.The instructions may include instructions to initiate the replacementprocess or to inspect the Tape Node A. In further embodiments, theserver(s) locates the closest user to the location of the Tape Node Aand selects them to receive the notification and initiate thereplacement process.

In other embodiments, the Tape Node A broadcasts the alert to anywireless node of the IoT system that is within the first wirelesscommunication range via the first wireless communication system. Thewireless node that receives the alert may be a client device (e.g., asmartphone) associated with a user of the IoT system 400. In this case,the client device may display a notification and/or further instructionsvia an app installed on the client device. The app may, for example,instruct the user to initiate the replacement process or instruct theuser to inspect the Tape Node A. In The alert may include instructionsto search for a nearby user with a client device, according to someembodiments.

In the example of FIG. 11 , the Tape Node A includes a display 1112(e.g., an indicator LED) that indicates that the Tape Node A needsreplacement. While in the example shown in FIG. 11 , the display 1112 isan LED indicator light, the display 1112 may be another type of displaysuch as an LCD screen, an electronic paper (e-paper) display, an LEDdisplay, an LED array, some other type of display, or some combinationthereof. In further embodiments, the display 1112 may indicate ordisplay other information or statuses of the Tape Node A. For example,the display 1112 may illuminate with a green color while the Tape Node Ais operating in a normal status and illuminate with a red color when theTape Node A is in need of imminent replacement. In other examples, thedisplay 1112 may show a current battery level. In other embodiments, theTape Node A does not include the display 1112. The Tape Node A may alsoinclude a speaker, according to some embodiments, that plays an audiocue or alarm when the Tape Node A is in need of imminent replacement.

In a second phase 1102, in response to receiving the indication that theTape Node A needs replacement, the IoT system 400 prompts a humanoperator or a machine (e.g., a robot or robotic arm) to initiate thereplacement by adhering a second tape node 1130 (Tape Node B) to theasset 1120 in proximity to the Tape Node A. When a human operator isprompted to initiate the replacement, the IoT system 400 may do so bysending a notification to the human operator's client device whichdisplays the notification on a corresponding app, according to someembodiments. The notification may indicate a type of tape node to use,which corresponds to a type of tape node associated with Tape Node A.The notification may include additional information on the tape node,such as a location of the tape node.

In the case of a human operator performing the replacement, the humanoperator installs a second tape node 1130 (Tape Node B) in a locationnear Tape Node A. The Tape Node B may be installed on a same asset 1120as the Tape Node A, when the Tape Node A is on an asset. In embodiments,where the Tape Node A is not installed on an asset, but is installed ona surface in an environment, such as a wall or a door, the Tape Node Bmay not necessarily be required to be installed on the same surface. Forinstance in the case that Tape Node A is installed on a wall of anindoor or outdoor environment, the Tape Node B may be installed on adifferent surface (e.g., another wall or the floor) as long as it iswithin a threshold distance of Tape Node A. The threshold distance maybe based on the wireless communication range of Tape Node A and TapeNode B, a distance from a location that is associated with the Tape NodeA, a role or function that Tape Node A serves in the IoT system 400,some other factor, or some combination thereof. In some embodiments, theTape Node B may be installed as close as possible to the Tape Node A,without overlapping the Tape Node A, according to some embodiments. Insome embodiments, the human operator is guided by the app on the clientdevice on where to place the Tape Node B. For example, the app mayinstruct the human operator to install the Tape Node B within athreshold distance (e.g., within 3 feet) of the Tape Node A.

After installation of Tape Node B on asset 1112, the human operator canthen leave the location of the asset 1120, and the Tape Node B will beconfigured by Tape Node A, without any intervention from the humanoperator or any other user. In some embodiments, before leaving thelocation, the human operator performs an action or provides a stimulusto one or more of the Tape Node A and the Tape Node B to initiate adiscovery process for the two tape nodes. Embodiments of the discoveryprocess is discussed in further detail below, with respect to FIGS.13A-13C. The discovery process includes the two tape nodes establishinga wireless communication connection, each tape node using a respectivefirst wireless communications system that is compatible with theother's. For example, the human operator may scan the two-dimensionalbar code on each of the Tape Node A and Tape Node B with a client devicethat includes a barcode scanner or a camera. In response to the scanningof the bar codes, the client device communicates to each of the TapeNode A and the Tape Node B, instructing them both to initiate theirrespective discovery process, according to some embodiments. Thescanning and communication with the tape nodes may be carried out usingthe app on the client device. In other examples, the Tape Node A and theTape Node B each include a sensor or component that can detect changesin the magnetic field around the respective tape node. In this case, thestimulus may include the human operator bringing a magnet or a magneticdevice near each of the Tape Node A and the Tape Node B. In otherexamples, the stimulus includes a light that the human operator shineson a portion of the Tape Node A and the Tape Node B that is detected bya respective optical sensor in each of the tape nodes. Other stimulusmay be used for initiating the discovery process

In some embodiments, only the Tape Node B receives a stimulus from thehuman operator, and the Tape Node B initiates its own discovery process,in response to the stimulus. In such cases, the Tape Node A isconfigured to receive a wireless signal from the Tape Node B whichinitiates its own respective discovery process for configuring Tape NodeB. The Tape Node A may be configured to periodically check for anincoming signal from Tape Node B after Tape Node A determines that TapeNode A itself is in need of imminent replacement. The frequency at whichthe Tape Node A checks for an incoming signal may be predetermined, andthe Tape Node B may repeatedly transmit its signal to Tape Node A for aduration and with a frequency that corresponds to the frequency at whichTape Node A checks until the two tape nodes successful establish awireless communication connection. In an example, the stimulus includesshaking the Tape Node B, which is detected by a vibration sensor in theTape Node B. In one example, the stimulus includes the act of cutting aportion of the Tape Node B, which results in a part of a circuit locatedin the cut portion being broken by the cut, similar to the wake circuitdescribed above with respect to FIGS. 6A-6B. The circuit detects achange to the circuit or a change in impedance in a portion of thecircuit that results from the cut, and in response, the Tape Node Binitiates its respective discovery process.

The Tape Node B has the same hardware components and capabilities as theTape Node A, according to some embodiments. In other embodiments, theTape Node B has different hardware components and capabilities (e.g.,different sensor and wireless communication components) than the TapeNode A, but has an overlapping set of capabilities that allows Tape NodeB to provide the same functionality and operate with the same identityas the Tape Node A. The Tape Node B has the first wireless communicationsystem for communicating with the Tape Node A.

In the second phase 1102 of the example replacement process, Tape Node Aand Tape Node B discover each other via a wireless communicationconnection (e.g., using the first wireless communication system). Thediscovery process may include a handshake process, to confirm that TapeNode B is the correct node or IoT device for replacing Tape Node A andoperating with the identity of Tape Node A. Part of the handshakeprocess may include determining that Tape Node A and Tape Node B arewithin the correct distance to each other based on the received signalstrength of the wireless connection between the Tape Node A and the TapeNode B (e.g., measured by the first wireless communication system). Ifthe two tape nodes are not within the correct distance or distance rangefrom each other, one or more of the two tape nodes may transmit an alertto a nearby wireless node, such as a nearby client device associatedwith a user. In other embodiments, the distance between Tape Node A andTape Node B are determined by other methods (for example by locationingsystems such as GPS or triangulation of wireless signals). If the TapeNode B is at a distance higher than a threshold distance for theconfiguration process, the Tape Node A may not transfer itsconfiguration files to Tape Node B. For example, the Tape Node B beingat a distance higher from Tape Node A than the threshold distance maycorrespond to the Tape Node B being adhered to a different object orlocation than the asset 1120. Thus, in such a case, it would beinappropriate to configure Tape Node B with the identity of Tape Node A.

A configuration file includes data, parameters, programmatic code,software, and firmware for configuring a wireless node of the IoT system400 to perform its role and define its identity as an agent in the IoTsystem 400. The role and identity of the wireless node in the IoT system400 includes all functions and services that the wireless node performsduring its operational lifetime. The configuration file may includeportions of or entire software and firmware that may be installed on thestorage or memory of a wireless node. The configuration file may includeupdates or patches for software and firmware on a wireless node,according to some embodiments. The configuration file may also includeversions of software and/or firmware that the wireless node mustdownload and install in order to complete its configuration. Theconfiguration file may include a plurality of software files.

After Tape Node A and Tape Node B have completed the discovery processand the handshake process, Tape Node A transmits its configuration fileto Tape Node B, and Tape Node B copies the received configuration fileto its own memory. The Tape Node B then completes the configuration byconfiguring its software, firmware, and hardware based on the receivedconfiguration file, such that the Tape Node B assumes the identity androle of Tape Node A in the IoT system 400. The Tape Node B then notifiesthe Tape Node A that the Tape Node B has completed configuration andbegins operating with the identity that Tape Node A previously assumed.The Tape Node A then stops functioning according to the identity itpreviously assumed, in response to receiving the notification confirmingthat the Tape Node B has replaced Tape Node A.

The Tape Node B takes over the identity and role of Tape Node A withinthe IoT system 400. The configuration file may include one or moreidentifiers that are associated with Tape Node A, that the Tape Node Bwill now copy as its own identifiers after the completion of thereplacement process. The one or more identifiers may include softwareidentifiers, networking addresses, other identifiers, or somecombination thereof. In some embodiments, the configuration fileincludes one or more apps, code, or software that the Tape Node Binstalls on its own memory and executes using its one or moreprocessors. The Tape Node B may also configure its own software orfirmware based on parameters included in the configuration file receivedfrom Tape Node A. The configuration file may comprise multiple files,according to some embodiments.

In some embodiments, a database of a server of the IoT system 400 isupdated to indicate that the Tape Node B has taken over the former roleof Tape Node A. The IoT system 400 may receive a unique identifier orhardware identifier of Tape Node B and associate that with the formerrole of Tape Node B. The IoT system 400 may further disassociate aunique identifier or hardware identifier of Tape Node A from the rolethat Tape Node B is now assuming. Thus, the Tape Node A will no longerperform its former role and will not interfere with the operation ofTape Node B or cause confusion in the IoT system 400 by performingduplicate functions as Tape Node B. In further embodiments, the TapeNode A then goes to sleep, shuts down, performs functions to deplete itsown batteries, or some combination thereof.

Tape Node B may also transmit a notification to other nodes of the IoTsystem confirming that it has replaced Tape Node A, in some embodiments.Alternatively, the Tape Node A may transmit the confirmationnotification to nearby wireless nodes before it shuts down or goes tosleep. In a further embodiment, the Tape Node A continuously transmitsthe confirmation notification in order to both confirm the completion ofthe replacement and deplete its own battery to below a threshold batterylevel. In some embodiments, the user is notified via the app on theclient device that the replacement and configuration has been completed.

After the configuration of the Tape Node B for replacement of Tape NodeA has completed, a human operator or a machine (e.g., a robot or roboticarm) may remove the Tape Node A from the asset 1120 in a third phase1103 of the example replacement process. In some embodiments, the TapeNode A is not removed and remains on the asset 1120. The third phase1103 may happen after a significant amount of time after the secondphase 1102. For example, a human operator may not return to the asset1120 to remove the Tape Node A until a time ranging from an hour toseveral weeks after the first phase 1101. Since a human operator doesnot need to be present or manually overseeing the configuration of theTape Node B during replacement, the amount of time and attention a humanoperator or user needs to devote to the replacement process is minimal.In some examples, a human operator may schedule a time to collectmultiple old tape nodes (like Tape Node A) which have been replaced butare still on their respective associated assets in an area, simplifyingthe task of removing the old tape nodes when the IoT system includes alarge network of tape nodes.

While in the above example, with respect to FIG. 11 , the IoT system 400initiates the replacement process in response to detecting a low batterylevel of the Tape Node A, the IoT system 400 may also initiate thereplacement process in response to detecting another event. The otherevent may include the Tape Node A failing a diagnostic test whichmeasures the performance of the features of Tape Node A. For example, ifthe Tape Node A or another wireless node of the system performs adiagnostic test on the received signal strengths and transmitted signalstrengths of Tape Node A, the IoT system 400 may initiate thereplacement process in response to determining that one or more of thereceived signal strengths and transmitted signal strengths is below orabove a threshold level. The other event may include the Tape Node Areceiving physical damage or experiencing a malfunctioning. The otherevent may include a threshold period of time expiring since the initialinstallation of Tape Node A. For example, the Tape Node A may bescheduled to be replaced at regular intervals, according to someembodiments.

FIG. 12 is a schematic showing an alternative view of the functionalityof a wireless node 1210. The tape nodes 1110, 1130 are each anembodiment of the wireless node 1210. The wireless node 1210 itself maybe an embodiment of the adhesive tape platform described above withrespect to FIGS. 1-6C or it may be an embodiment of a gateway device oranother device node in the IoT system 400, according to someembodiments. The wireless node 1210 includes storage functionality 1250(e.g., non-volatile memory) and computing functionality 1252. Thewireless node 1210 includes a mission to execute 1254, which defines theroles and goals of that wireless node 1210. Other tape nodes may havedifferent missions to execute 1254, and have different resources (e.g.,hardware, capabilities, and battery resources, for example). Thewireless node 1210 also has services to offer 1256, which definesservices and functions that the wireless node 1210 may offer to othernodes of the IoT system 400. The wireless node 1210 may also includebattery management 1258 that manages use of battery power by thewireless node 1210. For example, the battery management 1258 allows thewireless node 1210 to maximize its life by adjusting functionality anduse of resources to conserve battery power when necessary such that thewireless node 1210 completes its mission to execute 1254. The wirelessnode 1210 also includes a generic description model 1260 that definesoperation of the wireless node 1210 to meet its mission to execute 1254.These functions are implemented by a virtualization layer 1262 thatabstracts the functions from the specific hardware 1266 of the tapenode. For example, the virtualization layer 1262 may implement a virtualmachine that is common to all nodes of the tracking system 400, therebyallowing the function to be implemented by any of the nodes. Thewireless node 1210 may also include firmware that is specific to thehardware 1266 and that implements the virtualization layer 1262.

The wireless node 1210 also includes firmware 1264 that configures thewireless node 1210 for performing functions using one or more hardwarecomponents 1266 of the wireless node 1210. The firmware 1264 may includefirmware for the wireless node 1210 itself, as well as individualfirmware for one or more of the hardware components 1266 of the wirelessnode 1210. The firmware may include a version number, indicating aparticular version out of a plurality of available firmware versions.The wireless node 1210 also includes software 1268 that is installed ona memory or storage 1250 of the wireless node 1210 that a processor ofthe wireless node 1210 executes to perform various computationalfunctions.

In conventional computing architectures, intelligence only occurs withina server or within edge nodes, and the end nodes typically collect andsend sensor data to the server or edge nodes for processing and decisionmaking. However, in the IoT system 400, a wireless node 1210 may includedistributed intelligent software that causes the wireless node 1210 tooperate as a master, following its mission to execute 1254, anddelegating tasks and actions as needed, according to some embodiments.

In one example of operation, wireless node 1210 is attached to an asset(e.g., a package) being shipped to a customer location. The wirelessnode 1210 includes a manifest defining its intended journey, and itsmission to execute 1254 is to monitor handling of the asset and toensure it reaches its destination on schedule. In this example, as theasset is being moved through a warehouse, it inadvertently falls from aconveyer belt when moving towards a transport vehicle. The wireless node1210, following its mission to execute 1254, detects the fall of theasset and that it has stopped moving. The wireless node 1210 may thendetermine that, because it is not moving and that it is not on thetransport vehicle, it has a problem. Accordingly, the wireless node 1210communicates with a nearby client device 1230 (e.g., of a supervisor) atthe warehouse to indicate the problem. The supervisor may then use theclient device 1230 to locate the errant asset and ensures that it getsloaded onto the transport vehicle. In this scenario, the centraldatabase and controller 1220 was not involved in detecting or resolvingthe problem, but may receive status reports indicating the events.Specifically, the mission to execute 1254 causes the wireless node 1210,acting as the master, resolve its uses locally, thereby getting fasterresults and saving battery power (through using low-powercommunications).

The identity and role of a tape node in the IoT system 400 correspondsto the components of the wireless node 1210. When the Tape Node Bassumes the identity and role of the Tape Node A, in the example of FIG.11 , the Tape Node B copies from Tape Node A portions of or completelycopies a selected combination of aspects of the Tape Node A from thoseshown in FIG. 12 for the wireless node 1210. The aspects may includesome combination of the mission to execute 1254, the services to offer1256, the battery management 1258, the generic mission description model1260, portions of the software 1268, and other aspects of the Tape NodeA. In some further embodiments, the Tape Node B also copies portions ofor completely copies from Tape Node A the firmware 1265. In someembodiments, the Tape Node B copies at least the mission to execute 1254from the Tape Node A. The configuration file Tape Node B receives fromTape Node A, in the example of FIG. 11 , includes programmatic codecorresponding to the selected aspects that Tape Node B copies from TapeNode A in order to take over and assume the identity and role of TapeNode B during Tape Node B's configuration. When viewed by other nodes ofthe system 400, the Tape node B will appear to be the same wireless node1210 as the Tape Node B, according to some embodiments.

FIG. 13 is a flow chart showing steps for an example method 1300 ofconfiguring a wireless node of the IoT system for fast replacement,according to some embodiments. The wireless node is an IoT device of theIoT system 400, according to some embodiments. In further embodiments,the wireless node is an embodiment of an adhesive tape platform, i.e., atape node. A first wireless node, referred to herein as “wireless nodeA,” is initially installed on an asset and initialized 1310 with a firstconfiguration file, referred to herein as “configuration file A.” Theconfiguration file A includes all necessary parameters, portions ofsoftware, portions of firmware, and identifiers necessary forconfiguring wireless node A to function according to its mission toexecute 1254. The configuration file A also includes programmatic codewhich identifies and/or describes the mission to execute 1254 itself.For example, if the mission to execute 1254 for wireless node A is tomonitor vibration of an asset for a period of time using a vibrationsensor of wireless node A, the configuration file A includesprogrammatic code that describes the mission to monitor vibration forthe asset, as well as all parameters, software 1268, firmware 1264(which may include changes to firmware or a set of firmware versionsthat need to be installed on the wireless node A) in order tosuccessfully perform the mission.

In some embodiments, at initialization 1310, the wireless node Areceives the configuration file A from another node of the IoT system400. For example, a client device of a user that is installing thewireless node A may establish a wireless communication connection withthe wireless node A at the time of installation and transmit theconfiguration file A or portions of the configuration file A to thewireless node A. In other examples, the wireless node A searches foranother wireless node after it has been powered on. Once the wirelessnode A has successfully discovered another wireless node and establisheda wireless communication connection, the wireless node A requests aconfiguration file, and the connected wireless node provides theconfiguration file A, in response. In other embodiments, the wirelessnode A is preconfigured with the configuration file A in its memory orstorage at the time it is assembled or manufactured.

After some time operating according to its configuration file A, thewireless node A determines that it is in need of imminent replacementand indicates 1320 that it needs replacement. The wireless node A maydetermine that it is in need of imminent replacement based on itsbattery level being below a threshold level, for example. In otherexamples, the wireless node makes the determination based on anotherperformance indicator (e.g., received signal strength, transmittedsignal strength, return signal strength, or an operational time orlifetime) for the wireless node being below or above a threshold level.The indication 1320 may include using a display to visually indicate onthe wireless node A the need for replacement, as with the Tape Node1110, in FIG. 11 . In some embodiments, the indication includes thewireless node A transmitting a corresponding wireless signal to otherwireless nodes of the IoT system 400 that indicates the need forreplacement. In further embodiments, the wireless signal is received byanother wireless node of the IoT system 400, and the other wirelessnode, in response, notifies a server of the IoT system 400.

In response to the indication 1320 that the wireless node A needs to bereplaced, a human operator installs 1330 a second wireless node,referred to herein as “wireless node B,” on the same asset as wirelessnode A in proximity to wireless node A. In further embodiments, thehuman operator installs 1330 the wireless node B within a thresholddistance (e.g., within 1 foot) from the wireless node A. If the wirelessnode A and the wireless node B are both embodiments of the adhesive tapeplatform, the human operator may adhesively attach the wireless node Bto the asset.

The human operator installs 1330 wireless node B based on instructionsreceived from the IoT system 400 to initiate the replacement process ofwireless node A. The instructions may include a location of wirelessnode A, an identifier associated with wireless node A, a type ofwireless node that corresponds to wireless node B, instructions on aprocedure for installing wireless node B, instructions on where toinstall wireless node B on the asset, a time when the human operatorshould install wireless node B, some other instructions, or somecombination thereof. The human operator may receive the instructions ona client device which displays the instructions on an app of the clientdevice. The app may be configured to assist in other steps of thereplacement process 1300. The app may do so in the background withoutthe knowledge or input from the human operator, according to someembodiments. The client device may receive the instructions from aserver of the IoT system 400 via cellular communications, through aninternet connection, or via some other network connection.

Alternatively, the human operator's client device may receive theindication 1320 from the wireless node A directly via a wirelesscommunication connection with the wireless node A. The wireless node Amay transmit the indication 1320 to any nearby client device that it canfind. The app on the client device may be configured to search for anyindication signals transmitted from wireless nodes that are within acommunication range of the client device. The app may be configured tocontinuously or periodically perform this search in the background ofthe client device, according to some embodiments. When the humanoperator with the client device passes within the communication range ofthe wireless node A while the wireless node A is transmitting theindication 1320, the client device receives the indication 1320 anddisplays instructions to the human operator via the app to perform theinstallation 1330 of the wireless node B, in response.

In some embodiments, the human operator optionally provides a stimulus1340 to at least one of the wireless node A and the wireless node B totrigger a discovery process for the wireless node A and the wirelessnode B, as described above with respect to FIG. 11 . For example, thestimulus may include providing and input on a user interface of the appon the client device to initiate the discovery process for the twowireless nodes, after which the client device transmits a trigger signalfor both the wireless node A and the wireless node B to initiate thediscovery process. In other embodiments, the tape node A and the tapenode B automatically initiate a discovery process, also referred toherein as a “discovery protocol,” without any actions performed by thehuman operator after the installation 1330 of the wireless node B.

Wireless node A and tape node B then perform a discovery protocol 1350.The discovery protocol includes the wireless node A searching for anearby wireless node, e.g., wireless node B, to replace the wirelessnode A. The discovery protocol also includes the wireless node Bsearching for a nearby wireless node, e.g., wireless node A, to receivea configuration file from in order to complete the wireless node B'sconfiguration. The wireless node A broadcasts its presence to thewireless node B and informs the wireless node B that the wireless node Aneeds to be replaced and has an available configuration file fortransmission. The wireless node B broadcasts its presence to thewireless node A and informs the wireless node A that the wireless node Bis in need of receiving a configuration file. Under these conditions,the wireless node A and the wireless node B agree to perform theconfiguration for fast replacement and establish a wirelesscommunication connection for the next steps. The discover process isdiscussed in further detail below with respect to FIGS. 14A-14B.

The wireless node A transmits configuration file A to wireless node B,and wireless node B copies 1360 the received configuration file A to itsstorage or memory. The wireless node B completes its configuration ofitself based on the received configuration file A. Upon successfullyconfiguring itself based on the received configuration file A, thewireless node B confirms 1365 to the wireless node A that theconfiguration was successful and that the wireless node B is nowconfigured to fully replace wireless node A. Then, the wireless node Aceases functioning, and the wireless node B begins functioning 1370according to wireless node A's former role and identity in the IoTsystem 400, based on the configuration file A. Thus the replacementprocess is complete, and the wireless node B has successfully replacedwireless node A without any manual configuration or programming by thehuman operator. Finally, the human operator optionally removes 1380 thewireless node A from the asset at a later time.

In some further embodiments, a server of the IoT system 400 instructsthe human operator, via an app on the human operator's client device, toinstall the wireless node B 1330 within a time window. The time windowmay include a range of times (e.g., between 3 PM and 4 PM on a certainday) during which the replacement process 1300 will be carried out. Insome examples, the wireless node A and the wireless node B areconfigured to discover each other during the time window. For example,the wireless node B may be configured to initiate its discovery processautomatically at the start of the time window. If the wireless node Aand the wireless node B fail to discover each other during the timewindow, then the replacement process 1300 is interrupted, and the humanoperator is instructed to install another replacement wireless node(e.g., a wireless node C) to replace wireless node A or to reinstallwireless node B and restart the discovery process.

Although FIG. 11 shows a replacement process for two tape nodes, thesame or a similar replacement process applies to wireless nodes of theIoT system 400 that do not have the adhesive tape product form-factor,according to some embodiments. For example, the same process may becarried out for a gateway device that is plugged into an electricaloutlet or a tracking device that has a rigid form factor. The examplereplacement process illustrated in FIG. 11 may be carried out forreplacing any wireless node in the IoT system 400.

Discovery Process for Fast Replacement of Wireless Nodes

In response to a first wireless node, i.e., wireless node A, that isdeployed in the field determining that the first wireless node is needof imminent replacement, the first wireless node may begin a discoveryprocess to search for any other available, nearby wireless nodes thatcan replace the first wireless node. The first wireless node may beoperating in the field to support the IoT system 400. For example, thefirst wireless node may be attached to an asset and configured to trackthe location and/or the condition of the asset, periodically reportinglocation data on the associated asset to the IoT system 400. When asecond wireless node, i.e., wireless node B, is deployed in the fieldfor the first time for replacement of another wireless node, thewireless node B requires the receiving of a configuration file, in orderto complete its own configuration and begin operating with a role andidentity. As part of its own respective discovery process, the secondwireless node searches for another wireless node of the IoT system 400that can provide a configuration file to the second wireless node afterits initial deployment in the field. If the first wireless node and thesecond wireless node discover each other during their respectivediscovery processes, the second wireless node accepts a configurationfile wirelessly transmitted from the first wireless node, and the secondwireless node replaces the first wireless node in the IoT system 400. Insome embodiments, wireless node A and wireless node B are each tapenodes, such as the tape nodes shown in FIG. 11 .

FIGS. 14A-14B are flow charts each showing steps for an examplediscovery process for first wireless node deployed in the field, i.e.,wireless node A, and a second wireless node, i.e., wireless node B,replacing the first wireless node, according to some embodiments. FIG.14A shows a flow chart for an example discovery process 1401 where thewireless node A continuously searches 1410 for a nearby replacementwireless node after the discovery process is initialized. The search1410 may include transmitting a signal broadcasting the availability ofa configuration file for replacing wireless node A. The search 1410 mayalso include activating a receiver portion of a wireless communicationsystem to receive a wireless signal from a nearby wireless node that isrequesting a configuration file. The wireless node A may continuouslysearch for a replacement wireless node until it successfully discoversand pairs a replacement wireless node. In some embodiments, the wirelessnode A may continuously search for the replacement wireless node untilits battery is depleted. In other embodiments, the wireless node A mayconserve its battery by continuously searching for a replacementwireless node for a period of time. After the period of time has expiredand if the wireless node A has not found a replacement wireless node,the wireless node A may time out its discovery process, discontinuingits search, and re-attempt the search at a later time. The wireless nodeA may begin the search 1410 in response to a stimulus, as describedabove with respect to FIGS. 11 and 13 , or in response to firstdetermining that the wireless node A needs imminent replacement.

A wireless node B in the vicinity of the wireless node A periodicallytransmits 1412 a request to receive a configuration file from a nearbywireless node of IoT system 400 for completing the configuration ofwireless node B. The frequency with which the wireless node B transmits1412 the request may correspond to a timeout period of the wireless nodeA's search 1410, according to some embodiments. Alternatively, thefrequency with which the wireless node B transmits 1412 the request maycorrespond to an amount of time that the wireless node A is capable ofoperating while searching 1410 for a replacement wireless node before itdepletes its battery. The transmitted request may include information onthe wireless node B that can be used to determine if the wireless node Bis a suitable wireless node for replacing a wireless node that receivesthe request. The information, for example, may include a location of thewireless node B, a manifest of the hardware components of wireless nodeB, a manifest of software and firmware currently installed on thewireless node B, an identifier associated with wireless node B, such asa hardware identifier or a unique identifier, some other information onwireless node B, a distance of wireless node B from the nearby wirelessnode, or some combination thereof. The wireless node B may begin thetransmission 1412 in response to a stimulus, as described above withrespect to FIGS. 11 and 13 , or in response to first being activated,powered on, or initialized.

When the search 1410 of the wireless node A and the transmission 1412 ofthe wireless node B overlap, the wireless node A receives the requestfrom wireless node B and confirms 1414 that the tape node B will receivethe configuration file A from wireless node A. To confirm 1414 tape nodeB as the appropriate recipient of configuration file A, the wirelessnode A may determine that wireless node B is a suitable replacementbased on information received as part of the request transmitted 1412 bywireless node B. In some embodiments, both the wireless node A andwireless node B must reach a consensus on the replacement, before thewireless node A and the wireless node B complete the configuration forreplacing wireless node A. The wireless node A may need to do check theinformation received form wireless node B to make sure that the wirelessnode B is compatible with the configuration file A. The wireless node Amay also need to check to make sure the wireless node B is capable ofperforming the same tasks and functions that wireless node A performedas part of its role and identity in the IoT system 400.

After the wireless node A and the wireless node B have discovered eachother, the wireless node A transmits 1416 the configuration file A towireless node B. In some embodiments, the wireless node A modifies theconfiguration file A based on information received from wireless node B.The wireless node A may modify the configuration file A to be compatiblewith the wireless node B. The wireless node B receives the configurationfile A 1416, copies the received configuration file A to its own storageor memory, and completes its own configuration process based on thereceived configuration file A. The rest of the replacement processproceeds, according to steps 1360, 1365, 1370, and 1380 of FIG. 13 ,according to some embodiments.

FIG. 14B shows a flow chart for an alternative example discovery process1402 where the wireless node B continuously transmits 1420 a request fora nearby wireless node to provide a configuration file after thediscovery process is initialized. The wireless node B may continuouslytransmit 1420 the request until the wireless node B receives a returnsignal confirming from a nearby wireless node that the nearby wirelessnode is able to provide a configuration file to the wireless node B. Insome embodiments, the wireless node B continuously transmits the 1420request for a period of time, and if the wireless node B does notreceive a return signal confirmation in the period of time, the wirelessnode B times out its transmission, pausing the transmission until alater time when the wireless node B will reattempt to find a wirelessnode with an available configuration file. The period of time may be setbased on an available amount of energy stored on the wireless node B'sbattery. The wireless node B may begin the transmission 1420 in responseto a stimulus, as described above with respect to FIGS. 11 and 13 , orin response to first being activated, powered on, or initialized.

While the wireless node B is continuously transmitting the request, thewireless node A, which includes the configuration file A, periodicallysearches 1422 for a replacement tape node to receive its configurationfile A. The search 1422 of wireless node A may include activating areceiver portion of a wireless communication signal to receive therequest transmitted 1420 from the wireless node B or from anotherwireless node in need of a configuration file. The wireless node A maysearch with a frequency that corresponds to the timeout period of thewireless node B, in some embodiments. The frequency may alternatively oradditionally be based on an amount of energy remaining in the battery ofwireless node A. The wireless node A may begin the search 1422 inresponse to a stimulus, as described above with respect to FIGS. 11 and13 , or in response to first determining that the wireless node A needsimminent replacement.

When the search 1422 of the wireless node A and the transmission 1420 ofthe wireless node B overlap, the wireless node A receives the requestfrom wireless node B and confirms 1414 that the tape node B will receivethe configuration file A from wireless node A. After the wireless node Aand the wireless node B have discovered each other, the wireless node Atransmits 1416 the configuration file A to wireless node B. In someembodiments, the wireless node A modifies the configuration file A basedon information received from wireless node B. The wireless node A maymodify the configuration file A to be compatible with the wireless nodeB. The wireless node B receives the configuration file A 1416, copiesthe received configuration file A to its own storage or memory, andcompletes its own configuration process based on the receivedconfiguration file A. The rest of the replacement process proceeds,according to steps 1360, 1365, 1370, and 1380 of FIG. 13 , according tosome embodiments. The steps 1414 and 1416 in FIG. 14B occur similarly oridentically to the steps 1414 and 1416 in FIG. 14A.

FIG. 15 is a flow chart showing steps for an example method 1500 ofconfiguring a wireless node of the IoT system for fast replacement of anexisting wireless node in an IoT system 400 by using an intermediarydevice which coordinates the configuration, according to someembodiments. In the example of FIG. 15 , wireless node A is a wirelessnode of the IoT system 400 that is in need of imminent replacement and awireless node B is installed and configured to replace the wireless nodeA in the IoT system 400.

Wireless node A is installed on an asset and initialized 1510 withconfiguration file A. Wireless node A notifies 1520 an intermediarydevice (e.g., gateway device or client device) that imminent replacementis necessary. The intermediary device may be located nearby the wirelessnode A and is configured to communicate with wireless nodes of the IoTsystem 400. According to some embodiments, the intermediary device maybe located within a threshold distance from the wireless node A. Thethreshold distance may correspond to a wireless communication range fora wireless communication protocol being used to communicate between theintermediary device and the wireless node A, in some furtherembodiments. The intermediary device may be gateway device that isconfigured to communicate across multiple communication ranges using aplurality of wireless communication protocols and systems, according tosome embodiments. The intermediary device may be a line-powered devicethat is plugged into an electrical outlet to draw electrical power ormay be connected to a power supply. In such embodiments, theintermediary device may not be constrained by battery life limitationswhen coordinating the configuration of wireless node B in replacingwireless node A. In response, the intermediary device notifies a serverof the IoT system 400 or a client device associated with a nearby humanoperator to issue a replacement wireless node for the wireless node A.In response, a human operator installs wireless node B on the assetwithin proximity of wireless node A. In some embodiments, the wirelessnode B is installed within a threshold distance from wireless node A.

After the installation, the wireless node B is activated or powered on,and the wireless node B notifies 1540 the intermediary device that it isready to receive a configuration file. In response to receiving both thenotification 1520 from the wireless node A and the notification 1540from the wireless node B, the intermediary device syncs 1550 the timesof wireless node A and wireless node B. The intermediary device may syncthe times of wireless node A and the wireless node B by transmitting auniversal time stamp (e.g., a time stamp provided by the intermediarydevice that is in UTC time which acts as a ground truth for time for thewireless node A and the wireless node B) to each of the wireless node Aand the wireless node B after establishing a wireless communicationconnection with both the wireless node A and the wireless node B. Eachof the wireless node A and the wireless node B syncs their internalclocks to the received universal time stamp. The wireless node A and thewireless node B are then synced to each other within a margin of error,with respect to time, based on both the wireless nodes being synced tothe universal time stamp received from the intermediary device.

The intermediary device then instructs 1550 the wireless node A and thewireless node B to discover each other at a specified time (e.g., 8:00PM UTC). At the specified time, the wireless node A and the wirelessnode B each initiate their respective discovery processes and discover1570 each other at the specified time or at a time after the specifiedtime, and the wireless node A transfers the configuration file A towireless node B after discovering wireless node B. The discover processmay follow the steps described above with respect to FIGS. 14A-14B.Similarly, the wireless node A and the wireless node B may proceed tocomplete the configuration of wireless node B and the replacement ofwireless node A following the steps 1360, 1365, 1370, and 1380,according to some embodiments.

FIG. 15B shows an example environment including a first wireless node1590, i.e., wireless node A, a second wireless node 1592, i.e., wirelessnode B, being configured to replace the first wireless node 1590, and anintermediary device 1594 for coordinating the configuration of thesecond wireless node by the first wireless node, according to someembodiments. In some embodiments, the intermediary device 1594 is agateway node of the IoT system 400 that is configured to wirelesslycommunicate with one or more wireless nodes of the IoT system 400. Theintermediary device 1594 includes one or more wireless communicationsystem for communicating over one or more wireless communicationprotocols (e.g., Bluetooth, Zigbee, LoRa, WiFi, cellular, etc.). In anexample, the intermediary device 1594 includes both a Bluetooth forshort-range communication with the wireless node A and the wireless nodeB and a cellular communication system (e.g., 2G, 3G, LTE, 4G, or 5Gcellular communication system) for communication with one or moreserver(s) 404 of the IoT system 400. The intermediary device 1594, inthe example of FIG. 15B, is a line-powered device that is plugged intoand drawing electrical power from an electrical power outlet 1596.However, in other embodiments, the intermediary device 1594 may bepowered by a battery or another power supply. For example, theintermediary device 1594 may be a solar-powered device. In otherembodiments, the intermediary device 1594 is an embodiment of anadhesive tape platform, a client device such as a smartphone, or adevice with a different form factor.

The intermediary device 1594 may be configured to periodically orcontinuously receive wireless signals from the wireless node A and thewireless node B, in order to detect when wireless node A and thewireless node B are in need of respective services. As described above,with respect to FIG. 15A, the intermediary device may be configured toreceive the signals indicating that wireless node A is in need ofimminent replacement and that the wireless node B is in need of aconfiguration file to complete its configuration. In order tosynchronize the wireless node A and the wireless node B and aid each ofthe wireless nodes in their respective discovery processes, theintermediary device 1594 may frequently activate or continuouslyactivate its wireless communication system (e.g., an onboard Bluetoothcommunications system) to receive the notification signals in the steps1520, 1540 of the example method 1500 from the wireless node A and thewireless node B without missing the notification. If the intermediarydevice 1594 is a line-powered device it may do so without the downsideof depleting power reserves in a battery, according to some embodiments.The intermediary device may further receive data and instructions fromthe server(s) of the IoT system 400 for coordinating the configurationprocess of wireless node B. For example, the server(s) may instruct theintermediary device 1594 to search for wireless devices with specificidentifier, unique identifiers, or hardware identifiers that correspondto wireless node A and the wireless node B. The server(s) may do thiswhen the wireless node B has been specifically deployed and installed toreplace wireless node B. Doing so may ensure that an incorrect ordifferent wireless node does not replace wireless node A, by mistake.

FIG. 16A-16B are diagrams illustrating a dialog between a wireless nodeA and a nearby wireless node B during a configuration process in whichtape node B is configured to replace tape node A, according to someembodiments. The dialog describes interactions between the wireless nodeA and the wireless node B that occur over a wireless communicationconnection (e.g., a Bluetooth connection) during a configuration processin which wireless node B is configured to replace wireless node A in theIoT system 400.

FIG. 16A shows a first part of the dialog between wireless node A andwireless node B. The wireless node A queries 1610 the wireless node B onwhether the wireless node B is able to accept a configuration file,i.e., configuration file A, wireless node A. The wireless node Bsimultaneously or at a time within a threshold period of time from thewireless node A's query requests 1612 a configuration file 1612. In someembodiments, the request 1612 from wireless node B is sent in responseto receiving the query 1610 from the wireless node A. In response toreceiving the request 1612 from the wireless node B, the wireless node Aconfirms 1614 that it can provide its configuration file to wirelessnode B.

The wireless node B and The wireless node A may each determine 1616,1618 whether wireless node B is a suitable replacement for wireless nodeA, before confirming 1614. The wireless node A may determine 1618 thatwireless node B is suitable based on information received from wirelessnode B describing the capabilities and hardware components of wirelessnode B, according to some embodiments. The wireless node B may determine1616 that wireless node A is a suitable node to receive a configurationfile based on information received from the wireless node A describingthe capabilities of wireless node A, the role and identity of wirelessnode A in the IoT system 400, and the hardware components of wirelessnode A. The wireless nodes may further determine that wireless node B issuitable for replacing wireless node A based on a distance of wirelessnode B from wireless node A being less than a threshold distance. Thedistance may be determined based on received signal strength of thewireless communication between wireless node A and wireless node B.

Both wireless node A and wireless node B come to consensus 1620 agreeingthat wireless node B should copy the configuration file A from wirelessnode B. The wireless node A instructs 1622 wireless node B to prepare toreceive data of a specific amount (e.g., 50 megabytes of data), theamount corresponding to the size of the configuration file A. Thewireless node B confirms 1624 to wireless node A that it will continueto receive data over the wireless communication connection between thetwo wireless nodes until the specific amount of data is received. Inresponse, the wireless node A transmits 1626 the configuration file tothe wireless node B.

FIG. 16B shows a second part of the dialog between wireless node A andwireless node B, continuing where FIG. 0.16A left off with thetransmitting 1626 of the configuration file A from wireless node A towireless node B. The configuration file may include a plurality ofconfiguration files, according to some embodiments. The wireless node Baccepts 1632 the received configuration file and copies theconfiguration file to its own storage or memory. The wireless node Bgenerates a checksum of the copied configuration file and transmits 1634the checksum to the wireless node A. The wireless node A compares thereceived checksum from wireless node B to the checksum for the originalconfiguration file A to confirm that the wireless node B correctlyreceived the configuration file A. If the received checksum matches thechecksum for the original configuration file A, the wireless node Asends a confirmation n1636 to the wireless node B. The wireless node Bresponds by confirming 1638 that configuration of wireless node B iscomplete and instructing the wireless node A to sleep, shutdown,discontinue its functionality, deplete its battery, perform additionaltasks, or some combination thereof. The wireless node A, in response,goes to sleep, shuts down, discontinues its functionality, or somecombination thereof 1640. The wireless node B then takes over theidentity and role of the wireless node A and begins operating 1642,according to the received configuration file A.

FIG. 17 is a diagram illustrating a dialog between a wireless node A,wireless node B, and an intermediary device during a configurationprocess in which wireless node B is configured to replace wireless nodeA, according to some embodiment. The intermediary device is a device inproximity to both the wireless node A and the wireless node B which isconfigured to wirelessly communicate with each of the wireless node Aand the wireless node B. The dialog describes interactions between thewireless node A, the wireless node B, and the intermediary device thatoccur over a wireless communication connection (e.g., a Bluetoothconnection) during a configuration process in which wireless node B isconfigured to replace wireless node A in the IoT system 400. Theintermediary coordinates the communications between wireless node A andthe wireless node B to ensure that the two are able to wirelesslyconnect to each other within a specific time range in order to transfera configuration file from wireless node A to wireless node B.

The wireless node A first informs 1710 the intermediary device 1710 thatthe wireless node A is in need of imminent replacement by a new node ofthe IoT system 400. The intermediary device confirms 1712 that it hasreceived the notification 1710 from the wireless node A and provides thewireless node A a timestamp (e.g., a universal time stamp) to sync itsinternal clock and timing to the intermediary device's clock and timing.The intermediary device also assigns a time T at which time the wirelessnode A is instructed to activate its wireless communication system andsearch for a replacement wireless node to receive its configuration fileA. The wireless node A accepts the timestamp 1714 and syncs its internaltime to that of the intermediary device.

Later, a wireless node B near the wireless node A requests 1714 that theintermediary device assign a wireless node to provide a configurationfile to the wireless node B. The intermediary device informs 1716 thatthe wireless node A needs to be replaced and that the wireless node Awill wake up at time T to search for a replacement wireless node. Theintermediary device provides a timestamp 1716 to sync the wireless nodeB's internal clock and timing to the internal clock and timing of theintermediary device and to the wireless node A. The wireless node Baccepts 1718 the timestamp and syncs its time to that of theintermediary device based on the received timestamp.

At the time T, each of the wireless node A and the wireless node B wakeup their wireless communication systems and search for each other. Thewireless nodes may go on to complete a discovery and configurationprocess for wireless node B, according to the examples discussed abovewith respect to FIGS. 16A and 16B.

In all of the above examples, the wireless node A and the wireless nodeB may be embodiments of an adhesive tape platform but are not limited tothose embodiments. Similarly, the intermediary device may be anembodiment of an adhesive tape platform, a gateway device, a clientdevice, a server, or some other device.

Computer Apparatus

FIG. 18 shows an example embodiment of computer apparatus 320 that,either alone or in combination with one or more other computingapparatus, is operable to implement one or more of the computer systemsdescribed in this specification.

The computer apparatus 320 includes a processing unit 322, a systemmemory 324, and a system bus 326 that couples the processing unit 322 tothe various components of the computer apparatus 320. The processingunit 322 may include one or more data processors, each of which may bein the form of any one of various commercially available computerprocessors. The system memory 324 includes one or more computer-readablemedia that typically are associated with a software applicationaddressing space that defines the addresses that are available tosoftware applications. The system memory 324 may include a read onlymemory (ROM) that stores a basic input/output system (BIOS) thatcontains start-up routines for the computer apparatus 320, and a randomaccess memory (RAM). The system bus 326 may be a memory bus, aperipheral bus or a local bus, and may be compatible with any of avariety of bus protocols, including PCI, VESA, Microchannel, ISA, andEISA. The computer apparatus 320 also includes a persistent storagememory 328 (e.g., a hard drive, a floppy drive, a CD ROM drive, magnetictape drives, flash memory devices, and digital video disks) that isconnected to the system bus 326 and contains one or morecomputer-readable media disks that provide non-volatile or persistentstorage for data, data structures and computer-executable instructions.

A user may interact (e.g., input commands or data) with the computerapparatus 320 using one or more input devices 330 (e.g. one or morekeyboards, computer mice, microphones, cameras, joysticks, physicalmotion sensors, and touch pads). Information may be presented through agraphical user interface (GUI) that is presented to the user on adisplay monitor 332, which is controlled by a display controller 334.The computer apparatus 320 also may include other input/output hardware(e.g., peripheral output devices, such as speakers and a printer). Thecomputer apparatus 320 connects to other network nodes through a networkadapter 336 (also referred to as a “network interface card” or NIC).

A number of program modules may be stored in the system memory 324,including application programming interfaces 338 (APIs), an operatingsystem (OS) 340 (e.g., the Windows® operating system available fromMicrosoft Corporation of Redmond, Washington U.S.A.), softwareapplications 341 including one or more software applications programmingthe computer apparatus 320 to perform one or more of the steps, tasks,operations, or processes of the locationing and/or tracking systemsdescribed herein, drivers 342 (e.g., a GUI driver), network transportprotocols 344, and data 346 (e.g., input data, output data, programdata, a registry, and configuration settings).

Examples of the subject matter described herein, including the disclosedsystems, methods, processes, functional operations, and logic flows, canbe implemented in data processing apparatus (e.g., computer hardware anddigital electronic circuitry) operable to perform functions by operatingon input and generating output. Examples of the subject matter describedherein also can be tangibly embodied in software or firmware, as one ormore sets of computer instructions encoded on one or more tangiblenon-transitory carrier media (e.g., a machine readable storage device,substrate, or sequential access memory device) for execution by dataprocessing apparatus.

The details of specific implementations described herein may be specificto particular embodiments of particular inventions and should not beconstrued as limitations on the scope of any claimed invention. Forexample, features that are described in connection with separateembodiments may also be incorporated into a single embodiment, andfeatures that are described in connection with a single embodiment mayalso be implemented in multiple separate embodiments. In addition, thedisclosure of steps, tasks, operations, or processes being performed ina particular order does not necessarily require that those steps, tasks,operations, or processes be performed in the particular order; instead,in some cases, one or more of the disclosed steps, tasks, operations,and processes may be performed in a different order or in accordancewith a multi-tasking schedule or in parallel.

Other embodiments are within the scope of the claims.

ADDITIONAL CONFIGURATION INFORMATION

The foregoing description of the embodiments of the disclosure have beenpresented for the purpose of illustration; it is not intended to beexhaustive or to limit the disclosure to the precise forms disclosed.Persons skilled in the relevant art can appreciate that manymodifications and variations are possible in light of the abovedisclosure.

Some portions of this description describe the embodiments of thedisclosure in terms of algorithms and symbolic representations ofoperations on information. These algorithmic descriptions andrepresentations are commonly used by those skilled in the dataprocessing arts to convey the substance of their work effectively toothers skilled in the art. These operations, while describedfunctionally, computationally, or logically, are understood to beimplemented by computer programs or equivalent electrical circuits,microcode, or the like. Furthermore, it has also proven convenient attimes, to refer to these arrangements of operations as modules, withoutloss of generality. The described operations and their associatedmodules may be embodied in software, firmware, hardware, or anycombinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a computer program productcomprising a computer-readable medium containing computer program code,which can be executed by a computer processor for performing any or allof the steps, operations, or processes described.

Embodiments of the disclosure may also relate to an apparatus forperforming the operations herein. This apparatus may be speciallyconstructed for the required purposes, and/or it may comprise ageneral-purpose computing device selectively activated or reconfiguredby a computer program stored in the computer. Such a computer programmay be stored in a non-transitory, tangible computer readable storagemedium, or any type of media suitable for storing electronicinstructions, which may be coupled to a computer system bus.Furthermore, any computing systems referred to in the specification mayinclude a single processor or may be architectures employing multipleprocessor designs for increased computing capability.

Embodiments of the disclosure may also relate to a product that isproduced by a computing process described herein. Such a product maycomprise information resulting from a computing process, where theinformation is stored on a non-transitory, tangible computer readablestorage medium and may include any embodiment of a computer programproduct or other data combination described herein.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the inventive subject matter.It is therefore intended that the scope of the disclosure be limited notby this detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsis intended to be illustrative, but not limiting, of the scope of thedisclosure, which is set forth in the following claims.

What is claimed is:
 1. A method for replacing a first wireless node inan IoT system comprising: initiating, by a first wireless node, adiscovery protocol for a second wireless node installed in proximity tothe first wireless node; upon discovery of a second wireless node,wirelessly connecting, by the first wireless node, with the secondwireless node; and responsive to successful wireless connection betweenthe first wireless node and the second wireless node, transmitting, bythe first wireless node, a configuration file to the second wirelessnode, wherein the second wireless node copies the received configurationfile to a storage of the second wireless node.